AtCoder A - Overall Winner 8

今日の一問は、二人の複数の勝負結果がそれぞれの名前の頭文字で出力されるのでそれをもとに

  • どちらが通算で勝ち越しているか
  • 同数だった場合どちらが先に半数を超えたか

の処理をかいて判断し、多かった方または早かった方を出力するもの。

自分のコードは長くなったので他に言いコードないかなと思いそうさく。

以下の行動が短くまとまっていてよかった。

# frozen_string_literal: true
n = gets.to_i
s = gets.chomp
t = s.count('T')
puts((t > n - t || (t == n - t && s[-1] == 'A')) ? 'T' : 'A')

注目ポイントは「s[-1] == 'A'」ここ。 同数なら、最後に帳尻が合うはずなので最後の文字に注目してる点。 もっと頭を柔らかく考えていこうー