Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

전공공부

[BOJ_4358] 생태학 본문

Study/Problem Solving

[BOJ_4358] 생태학

monitor 2023. 10. 31. 07:49

설명


마지막에 처리 부분이 힘들었다. 조건문이 str == null 으로 들어가게 해야 런타임 Exception을 배제한다.

 

코드


package Data_Structure;

import java.io.*;
import java.util.*;

public class BOJ_4358 {
    public static void main(String[] args) throws Exception{
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        Map<String,Double> map = new LinkedHashMap<String,Double>();
        double cnt = 0;
        while(true){
            String str = in.readLine();
            if(str == null){
                break;
            }
            cnt++;
            map.put(str,(map.getOrDefault(str,0.0) + 1.0));
        }
        List<String> keyList = new ArrayList<>(map.keySet());
        keyList.sort((s1, s2) -> s1.compareTo(s2));
        for (String key : keyList) {
            double ratio = (double) ((map.get(key)/cnt) * 100.0);
            System.out.println(key + " " + String.format("%.4f", ratio));
        }
    }
}
 

4358번: 생태학

프로그램은 여러 줄로 이루어져 있으며, 한 줄에 하나의 나무 종 이름이 주어진다. 어떤 종 이름도 30글자를 넘지 않으며, 입력에는 최대 10,000개의 종이 주어지고 최대 1,000,000그루의 나무가 주어

www.acmicpc.net

 

'Study > Problem Solving' 카테고리의 다른 글

[BOJ_2231] 분해 합  (1) 2023.11.02
[BOJ_2798] 블랙잭  (1) 2023.11.01
[BOJ_11279] 최대 힙  (1) 2023.10.30
[BOJ_2504] 괄호의 값  (1) 2023.10.29
[BOJ_1874] 스택 수열  (1) 2023.10.28