7.List of Conquests (CPE21924, UVA10420) - CPE一顆星解答與說明
題目
- 幫忙統計數量
輸入說明
- 輸入資料最多會有 2000 行
- 第一行的數字 n 是宣告接下來有幾筆資料
- 每一行包含國家名詞和姓名
- 假設國家名詞都只有一個單字
輸出說明
- 按照字母排序將國家名稱與人數印出
- 國家名稱與人數中間要以空白隔開
解題技巧
- 注意讀取資料的方式,使用next()與 nextLine()的時機
- 根據資料筆數,使用 for 迴圈讀取資料
- 使用 Map 儲存國家名稱與人數
- 跟第 8 題 What's Cryptanalysis? (CPE10402, UVA10008),統計英文字母出現幾次,用 map 解的邏輯類似
解題過程
取得輸入
- 取得資料筆數,使用 nextInt() ,不包含空白與換行
- 根據資料筆數,使用 for 迴圈讀取資料
- 讀取國家 next() ,不包含空白與換行
- 讀取姓名 nextLine()
儲存輸出資料
認識Map 的方法
- 增加 Key 與 Value
- put(K key, V value)
- 判斷
- containsKey(Object key):此 key 是否存在 map 中
- containsVaule(Object value) :此 value 是否存在 map 中
- 取得 map 中所有的 key
- keySet() :具有唯一性的 key 集合
- 取得某 Key 的值(Value)
- get(Object key)
統計國家與人數
- 宣告 count 變數,統計該國家有幾個人
- count 預設值為 1,當讀取到該國家時,表示此國至少有一個人
- 判斷此國是否存在於 map 中
- 存在:表示此國之前曾出現過
- 呼叫 Map 中的 get(key) 方法,取得此國的人數,並將人數加 1
- 呼叫 Map 提供的 put(key,value) 方法,更新國家名稱與人數
👉 CPE 一顆星選集列表(49題) 題目說明與解答
留言
張貼留言