https://www.acmicpc.net/problem/4358
문제 파악
EOF 가 입력되기 전까지 나무 종을 입력받아서 전체 입력 개수에서 해당 종이 차지하는 비율을 소수점 넷째 자리까지 반올림하여 출력하면 된다.
다른 분의 소스를 보면 Trie를 만들어서 사용 하신 분이 계신데 나는 (Key, Value) + Sort의 자료구조를 생각했고 TreeSet으로 해결하였다.
더보기
import java.io.*;
import java.util.TreeMap;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
TreeMap<String,Integer> treeMap = new TreeMap<>();
int count = 0;
String input = "";
while((input = br.readLine())!= null)
{
count++;
treeMap.put(input,treeMap.getOrDefault(input,0)+1);
}
for(String key : treeMap.keySet()){
System.out.println(key +" " + String.format("%.4f",((float)treeMap.get(key) / (float)count) * 100));
}
}
}
'PS' 카테고리의 다른 글
[BOJ]12904번 : A와 B (0) | 2021.08.08 |
---|---|
[Programmers] 위클리 챌린지 - 1주차 (부족한 금액 계산기) (0) | 2021.08.08 |
[BOJ]17219번 : 비밀번호 찾기 (0) | 2021.07.27 |
[BOJ] 15829번 : Hashing (0) | 2021.07.25 |
[Programmers] LV2 - 소수 찾기 (0) | 2021.07.20 |