Advent of Code 2021が始まった。Eric Wastlが2015年から毎年12月に開催している、プログラミングコンテストとアドベントカレンダーを融合したようなイベントで、北米エリアを中心に世界中から多くのプログラマが参加している。RedditやTwitter界隈で盛り上がりを見せている。
私も会社のイベントのいっかんとして参加することになった。やるからには、コーディングの復習も兼ねて、最後まで答えを見ないで25日間やり通すことを目標とする。
問題形式は一日二問、アウトプットだけを入力して正解を判定するタイプ。答えを求める過程、何を使うか一切自由。自分は今復習しているRubyでコードを書いていこうと思う。
コーディングが好きな人もそうじゃない人も、是非一緒にトライしてみませんか。
1-1
# Adbent Calendar Day1a
array = [];
File.foreach("1_input.dat").with_index do |line, line_num|
array.push(line.to_i)
end
counter = 0;
array.each_with_index do |line, index|
if array[index+1] == nil
break
end
if array[index+1] > array[index]
counter = counter + 1;
end
end
puts counter #answer1-2
# Adbent Calendar Day1-2
array = [];
File.foreach("1_input.dat").with_index do |line, line_num|
array.push(line.to_i)
end
counter = 0;
array.each_with_index do |line, index|
if array[index+3] == nil
break
end
a = array[index] + array[index+1] + array[index+2]
b = array[index+1] + array[index+2] + array[index+3]
if b > a
counter = counter + 1;
end
end
puts counter #answer