[Algorithm/Java] 백준 20291번 - 파일 정리
https://www.acmicpc.net/problem/20291
🔍 문제 풀이
이 문제는
TreeMap
을 사용하면 간편히 구현 가능하다.
HashMap
: 순서 보장 xTreeMap
: 키 기준 정렬LinkedHashMap
: 삽입된 순서 보장
💻 코드
[방법 1] TreeMap
import java.io.*;
import java.util.*;
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<>(); // TreeMap 사용 -> key 기준 자동 정렬
int n = Integer.parseInt(br.readLine());
for(int i=0; i<n; i++){
String[] str = br.readLine().split("\\.");
treeMap.put(str[1], treeMap.getOrDefault(str[1], 0) + 1 );
}
for(Map.Entry<String, Integer> entry : treeMap.entrySet()){
System.out.println(entry.getKey() + " " + entry.getValue());
}
}
}
[방법 2] HashMap
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Map<String, Integer> map = new HashMap<>();
int n = Integer.parseInt(br.readLine());
for(int i=0; i<n; i++){
String[] str = br.readLine().split("\\.");
map.put(str[1], map.getOrDefault(str[1], 0) + 1 );
}
List<String> listKey = new ArrayList<>();
for(String key:map.keySet()) listKey.add(key);
Collections.sort(listKey);
for(String k : listKey){
int v = map.get(k);
System.out.println(k + " " + v);
}
}
}
댓글남기기