문제
https://www.acmicpc.net/problem/20291
풀이 과정
TreeMap은 내부적으로 레드-블랙 트리 구조를 갖추고 있어, 정렬한 자료가 필요할 때 유용하다.
따로 key를 복사해서 정렬하지 않고, 값을 넣으면서 Entry자체를 정렬하는 것이다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Map;
import java.util.TreeMap;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Map<String, Integer> map = new TreeMap<>();
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
String input;
while(N-- > 0){
input = br.readLine();
String extension = input.substring(input.indexOf(".")+1);
map.put(extension, map.getOrDefault(extension, 0)+1);
}
for(Map.Entry<String, Integer> entry : map.entrySet()){
sb.append(entry.getKey()).append(" ")
.append(entry.getValue()).append("\n");
}
System.out.println(sb);
}
}
'코딩문제풀이 > Baekjoon' 카테고리의 다른 글
[Java] 백준 22866번 : 탑 보기 (1) | 2023.06.09 |
---|---|
[Java] 백준 10800번 : 컬러볼* (0) | 2023.06.02 |
[Java] 백준 2630번 : 색종이 만들기 (0) | 2023.04.28 |
[Java] 백준 21609번 : 상어 중학교 (1) | 2023.04.22 |
[Java] 백준 1655번 : 가운데를 말해요 (0) | 2023.04.21 |