#rubyのアルゴリズム問題のお題
n 行のユーザーとタイプの組が与えられるので、ユーザーをキー、タイプを値として、連想配列(辞書)に保存してください。
そのあとで連想配列(辞書)をそのまま表示してください。
#入出力例
ruby
1#入力例 25 3Kyoko B 4Rio O 5Tsubame AB 6KurodaSensei A 7NekoSensei A
ruby
1#出力 2Kyoko B 3Rio O 4Tsubame AB 5KurodaSensei A 6NekoSensei A
#自分で組んだアルゴリズム(キーとバリューで改行されてしまいます)
ruby
1count = gets.to_i 2 3count.times do 4 info = gets.chomp.split(" ") 5 info.each{|name,type| puts "#{name} #{type}"} 6end
#模範解答
ruby
1num = gets.chomp.to_i 2 3user2blood = {} 4 5(1..num).each do 6 array = gets.chomp.split(' ') 7puts array[1] 8 user2blood[array[0]] = array[1] 9end 10 11user2blood.each { |key, value| puts "#{key} #{value}" }
#わからない点
今回の問は下記の記述で問題なく動いてはくれるのですが、お題の保存に反するので上記のアルゴリズムを組みました。
ruby
1count = gets.to_i 2count.times do 3 a = gets 4 puts a 5end
自分で組んだアルゴリズムだとどうしてもキーとバリューが一列に表示されないので諦めて回答を確認しました。
回答のアルゴリズムにある
"user2blood[array[0]] = array[1]"記述の理解ができませんでした。配列"user2blood"の中の"array[0]"に"array[1]"を代入していると思うのですがなぜこの記述があれば"出力例"の状態が表示できるのでしょうか??
お手数おかけしますが、ご教授頂けますと幸いです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー