何かやってみるブログ

興味をもったこと、趣味のこと、技術について色々書きます。

パナソニックプログラミングコンテスト(AtCoder Beginner Contest 186) 備忘録 

全体的な感想と反省

競技プログラミングの勉強はしていないとはいえプログラマになって1年くらい経つにも関わらず、D問題すら解けてないことに 危機感を覚えた。次のコンテスト(2021/1/2)までに AtCoder Problemsでたくさん問題を解いて(できればA問題の過去問からC問題の過去問を全て解いて)アルゴリズムの勉強をしていきたい。

A問題

a, b = gets.chomp.split(" ").map(&:to_i)
puts a / b

B問題

h, w = gets.chomp.split(" ").map(&:to_i)
arr1 = []
data = readlines.map do |line|
  arr2 = line.chomp.split(" ").map(&:to_i)
  arr1 << arr2
end

min = arr1.flatten.min
result_arr = arr1.flatten.map do |elm|
  elm - min
end

puts result_arr.sum

C問題

num = gets.to_i
result = 0
[*1..num].each do |elm|
  unless elm.to_s.include?('7') || elm.to_s(8).include?('7')
    result += 1
  end
end
puts result