반응형
문제 출처: https://www.acmicpc.net/problem/20291
1. 문제 접근방식
- '.'을 기준으로 분리해서 TreeMap에 넣어두고 작업하는 방법이 먼저 생각났다. 여기서 HashMap과 TreeMap의 차이를 살짝 알아보면 TreeMap의 경우 기본적인 동작은 HashMap과 같고 부가적으로 SortedMap을 상속받아 사용하므로 key값을 기준으로 정렬이 이루어진 상태로 들어가게 된다.
2. 내가 푼 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Map;
import java.util.TreeMap;
public class boj20291 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
Map<String, Integer> map = new TreeMap<>();
for (int i = 0; i < N; i++) {
String str = br.readLine();
String title = str.substring(str.indexOf('.') + 1);
if (map.containsKey(title)) {
int nowCnt = map.get(title);
map.replace(title, ++nowCnt);
} else {
map.put(title, 1);
}
}
for (String key : map.keySet()) {
System.out.println(key + " " + map.get(key));
}
}
}
3. 결과 및 느낀점
- 자바의 세계는 매우 넓다...
반응형
'개인 공부 > Algorithm' 카테고리의 다른 글
[Baekjoon/백준] 11656 JAVA (0) | 2021.08.15 |
---|---|
[Baekjoon/백준] 1783 JAVA (0) | 2021.08.13 |
[Baekjoon/백준] 20114 JAVA (0) | 2021.08.11 |
[Baekjoon/백준] 13413 JAVA (0) | 2021.08.10 |
[Baekjoon/백준] 1543 JAVA (0) | 2021.08.09 |