競技プログラミング day5
問題
https://atcoder.jp/contests/abc132/tasks/abc132_b
回答
時間切れなので途で強制終了。(そして内容も間違っている)
# nの値をint型で受付 5 a = gets.chomp.to_i # nの値をint型で受付 [1,3,5,4,2] arry = gets.split.map(&:to_i) cnt = 0 (1..a).each { |i| cnt += 1 if ( (arry[i] < arry[i+1]) && (arry[i+1] < arry[i+2]) ) } puts cnt
2、解答例
n = gets.chomp.to_i input = gets.chomp.split(' ').map(&:to_i) ans = 0 input.each_cons(3) do |a, b, c| array = Array.new pushed = array.push(a, b, c) sorted = pushed.sort ans += 1 if pushed== sorted end puts ans
学びポイント
each_consを利用すれば引数で指定した数を代入した配列が利用できる。
(1..10).each_cons(3) { |a| p a } # outputs below [1, 2, 3] [2, 3, 4] [3, 4, 5] [4, 5, 6] [5, 6, 7] [6, 7, 8] [7, 8, 9] [8, 9, 10]
感想
制限時間30分超えたのでゲームオーバー。 この問題は並び替えアルゴリズムの知識が問われる問題でなかなかめんどかった・
所有時間
制限時間30ふん超え