実現したいこと
自分の書いたコードでどのように修正したら問題が解けるか、ご教授いただけたら嬉しいです。
【問題】長さ N の数列Aが与えられます。Aの中に 0 が含まれていない場合はYESを、 0 が含まれている場合はNOを出力してください。
入力例1(N = 4, A = 1 2 3 0)
4 1 2 3 0
出力例1
NO
入力例2(N = 3, A = 1 2 3)
3 1 2 3
出力例2
NO
【自分で書いたコード】
Ruby
1n = gets.to_i 2 3sample = [] 4 5n.times do 6 sample.push(gets.chomp.split(" ").map &:to_i) 7end 8puts sample[0].class 9puts sample[0][0].class 10 11sample.each do |i| 12 i.each do |j| 13 if j == 0 14 puts "NO" 15 else 16 puts "YES" 17 end 18 end 19end
出力結果
Array Integer YES YES YES NO
考えたこと
自分の書いたコードの問題点は下のように考えています。
①配列の中に配列が入ってしまっている
②YESもしくはNOを、入力された値をすべて評価した上で一度だけ出力できていない
この【問題】を解くのに、入力された値を順次配列に代入していくことができれば、次のような感じで解くことができると考えています。現在は配列の中に配列が入っている状況になってしまっています。
Ruby
1if [1, 2, 3, 0].any?(0) 2 puts "NO" 3else 4 puts "YES" 5end
回答1件
あなたの回答
tips
プレビュー