『相手の思考を推理する』

www.rco.recruit.co.jp
で見つけた問題です。
リクルートコミュニケーションズの採用情報のところにあった問題 - komamitsu.log
によるとソースコードを公開してもいいそうです。
僕も解いてみたので、公開してみたいと思います。
なにかご意見あれば、お気軽にどうぞ。

def solve(param)
  data = param.split(' ').map{|item| item.split('=')[1]}.map(&:to_i)
  i = 0
  alphabet = ('A'..'Z').to_a
  answer = ""
  size = data.size
  data.each {|item|
    tmp_data = data.clone
    tmp_data.delete(item)
    if tmp_data.include?(1) && tmp_data.include?(2)
      answer += alphabet[i] + " =>MAX"
      break
    elsif tmp_data.include?(1) && tmp_data.include?(MAX_NUM)
      answer += alphabet[i] + " =>MID"
      break
    elsif tmp_data.include?(MAX_NUM-1) && tmp_data.include?(MAX_NUM)
      answer += alphabet[i] + " =>MIN"
      break
    else
      answer += alphabet[i] + " =>?, "
    end
    i = i + 1
  }
  if answer[-1] == " "
    answer.chop!.chop!
  end
  return answer
end

MAX_NUM = 5
line = readline
puts solve(line)