[백준] 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);
}
}
}
댓글남기기