はじめに AtCoder Problems の Recommendation を利用して、過去の問題を解いています。 AtCoder さん、AtCoder Problems さん、ありがとうございます。 今回のお題 AtCoder Regular Contets C - Attention Difficulty: 641 今回のテーマ、累積和 入力例 2 のWEWEWEEEWWWEを考察しますと、WEWEWEEiWWWEとなりiの左側のWの個数と右側のEの個数の合計が求める人数となります。 文字列の左0から右n-1に向かって、Eは単調減少、Wは単調増加ですので、計算量を抑える手法として累積和を使用します。 n = gets.to_i s = gets.chomp e = (s[0] == 'E' ? [1] : [0]) w = (s[0] == 'W' ? [1] : [0]) 1.up
