π§© Baekjoon 10814 - λμ΄μ μ λ ¬
λ¬Έμ
μ¨λΌμΈ μ μ§μ κ°μ ν μ¬λλ€μ λμ΄μ μ΄λ¦μ΄ κ°μ ν μμλλ‘ μ£Όμ΄μ§λ€. μ΄λ, νμλ€μ λμ΄κ° μ¦κ°νλ μμΌλ‘, λμ΄κ° κ°μΌλ©΄ λ¨Όμ κ°μ ν μ¬λμ΄ μμ μ€λ μμλ‘ μ λ ¬νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
첫째 μ€μ μ¨λΌμΈ μ μ§ νμμ μ Nμ΄ μ£Όμ΄μ§λ€. (1 β€ N β€ 100,000) λμ§Έ μ€λΆν° Nκ°μ μ€μλ κ° νμμ λμ΄μ μ΄λ¦μ΄ 곡백μΌλ‘ ꡬλΆλμ΄ μ£Όμ΄μ§λ€. λμ΄λ 1λ³΄λ€ ν¬κ±°λ κ°μΌλ©°, 200λ³΄λ€ μκ±°λ κ°μ μ μμ΄κ³ , μ΄λ¦μ μνλ²³ λμλ¬Έμλ‘ μ΄λ£¨μ΄μ Έ μκ³ , κΈΈμ΄κ° 100λ³΄λ€ μκ±°λ κ°μ λ¬Έμμ΄μ΄λ€. μ λ ₯μ κ°μ ν μμλ‘ μ£Όμ΄μ§λ€.
μΆλ ₯
첫째 μ€λΆν° μ΄ Nκ°μ μ€μ κ±Έμ³ μ¨λΌμΈ μ μ§ νμμ λμ΄ μ, λμ΄κ° κ°μΌλ©΄ κ°μ ν μμΌλ‘ ν μ€μ ν λͺ μ© λμ΄μ μ΄λ¦μ 곡백μΌλ‘ ꡬλΆν΄ μΆλ ₯νλ€.
μμ
β μ λ ₯ 1
1
2
3
4
3
21 Junkyu
21 Dohyun
20 Sunyoung
β μΆλ ₯ 1
1
2
3
20 Sunyoung
21 Junkyu
21 Dohyun
μμ± μ½λ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
// 1. λ³μ μ μΈ λ° μ΄κΈ°ν
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int n = Integer.parseInt(br.readLine());
Map<Integer, List<String>> listMap = new TreeMap<>();
// 2. λμ΄ λ° μ΄λ¦ λ°μ΄ν° μ μ₯
for (int i = 0; i < n; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
int age = Integer.parseInt(st.nextToken());
String name = st.nextToken();
listMap.computeIfAbsent(age, k -> new ArrayList<>()).add(name);
}
// 3. μΆλ ₯ κ°μ²΄ μ²λ¦¬
for (Map.Entry<Integer, List<String>> entry : listMap.entrySet()) {
List<String> names = entry.getValue();
for (String name : names) sb.append(entry.getKey()).append(" ").append(name).append("\n");
}
// 4. μΆλ ₯
System.out.println(sb);
}
}
- λμ΄μ λν μ λ ¬ μ²λ¦¬λ₯Ό μν΄
TreeMapμ μ¬μ©νλ€. - λμ΄κ° κ°μΌλ©΄ κ°μ μμΌλ‘ μΆλ ₯νλ©΄ λλ―λ‘ μ΄λ¦μ λν μ λ ¬ μ²λ¦¬λ λ°λ‘ νμνμ§ μμλ€.