[백준] 4358. 생태학

최대 1 분 소요

문제 링크

[백준] 4358. 생태학


풀이 과정

TreeSet 을 통해 중복 제거와 동시에 문자열을 사전순으로 정렬했고, HashMap 을 통해 각 나무가 몇 번 등장했는 지 저장했습니다.


코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.TreeSet;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String input;
        TreeSet<String> set = new TreeSet<>();
        HashMap<String, Integer> map = new HashMap<>();
        int totalCnt = 0;

        while ((input = br.readLine()) != null && input.length() > 0) {
            totalCnt++;
            set.add(input);
            map.put(input, map.getOrDefault(input, 0) + 1);
        }

        for (String name : set) {
            System.out.printf("%s %.4f\n", name, (double) map.get(name) / totalCnt * 100);
        }
    }
}

카테고리:

업데이트:

댓글남기기