前提・実現したいこと
配列の中身が複数あり、それぞれ一致するときに数値を加算したいです。
問題文は以下の通りです。
「n 人の人の名前 s_1, ..., s_n が与えられたのち、 m 回の「攻撃」に関する情報が与えられます。各行は “p_i a_i” というフォーマットで与えられ、 p_i はダメージを受けた人の名前 (s_1, ..., s_n のいずれか) 、 a_i は p_i が受けたダメージ数を表す数です。なお、一度もダメージを受けていない人の合計ダメージは 0 とします。
それぞれの人が受けたダメージを、人の名前のアルファベットの辞書順に出力してください。」
https://paiza.jp/works/mondai/c_rank_level_up_problems/c_rank_dictionary_step3
該当のソースコード
c#
1using System; 2using System.Collections.Generic; 3 4class Program 5{ 6 static void Main() 7 { 8 var line = int.Parse(Console.ReadLine()); 9 var nameList = new List<string>(); 10 11 for (int i=0; i < line; i++) { 12 nameList.Add(Console.ReadLine()); 13 } 14 15 nameList.Sort(); 16 17 var line2 = int.Parse(Console.ReadLine()); 18 var hitList = new List<string>(); 19 var damageList = new List<int>(); 20 21 for (int i=0; i < line2; i++) { 22 string[] lines = Console.ReadLine().Split(' '); 23 hitList.Add(lines[0]); 24 damageList.Add(int.Parse(lines[1])); 25 } 26 } 27}
試したこと
ハッシュテーブルを使って解こうとしましたが、上手くいきませんでした。
回答1件
あなたの回答
tips
プレビュー