λ¬Έμ
λ¬Έμ λ§ν¬ https://www.acmicpc.net/problem/1764
- κΉμ§μμ΄ λ£λ λͺ»ν μ¬λμ λͺ λ¨κ³Ό, 보λ λͺ»ν μ¬λμ λͺ λ¨μ΄ μ£Όμ΄μ§ λ, λ£λ 보λ λͺ»ν μ¬λμ λͺ λ¨μ ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
- 첫째 μ€μ λ£λ λͺ»ν μ¬λμ μ N, 보λ λͺ»ν μ¬λμ μ Mμ΄ μ£Όμ΄μ§λ€.
- μ΄μ΄μ λμ§Έ μ€λΆν° Nκ°μ μ€μ κ±Έμ³ λ£λ λͺ»ν μ¬λμ μ΄λ¦κ³Ό, N+2μ§Έ μ€λΆν° 보λ λͺ»ν μ¬λμ μ΄λ¦μ΄ μμλλ‘ μ£Όμ΄μ§λ€. μ΄λ¦μ λμ΄μ°κΈ° μμ΄ μνλ²³ μλ¬Έμλ‘λ§ μ΄λ£¨μ΄μ§λ©°, κ·Έ κΈΈμ΄λ 20 μ΄νμ΄λ€. N, Mμ 500,000 μ΄νμ μμ°μμ΄λ€.
- λ£λ λͺ»ν μ¬λμ λͺ λ¨μλ μ€λ³΅λλ μ΄λ¦μ΄ μμΌλ©°, 보λ λͺ»ν μ¬λμ λͺ λ¨λ λ§μ°¬κ°μ§μ΄λ€.
- λ£λ³΄μ‘μ μμ κ·Έ λͺ λ¨μ μ¬μ μμΌλ‘ μΆλ ₯νλ€.
μμ΄λμ΄
- λ£λ λͺ»ν μ¬λμ΄λ¦μ hashmapμ μ μ₯νκ³ λ³΄λ λͺ»ν μ¬λλ€μ μ
λ ₯λ°μΌλ©΄μ ν΄λΉ λ¬Έμμ΄μ΄ hashmapμ keyκ°μΌλ‘ μ μ₯λμ΄ μμΌλ©΄ κ²°κ³Όλ₯Ό μΆλ ₯ν λ°°μ΄μ μ μ₯νκ³ μμΌλ©΄ μ μ₯νμ§ μμλ€.
κ²ͺμ μνμ°©μ€
- μ²μμ μκ°μ΄κ³Όκ° μκΎΈ λμ λκ° λ¬Έμ μΈκ°... κ³ λ―Όμ νλ©° λ°λ³΅λ¬Έμ ν΅ν΄ κ°μ λ¬Έμμ΄μ΄ μλμ§ μ°Ύλκ²μ ArrayListλ‘ λ³νν΄μ containsλ‘ λ°κΏλ³΄κΈ°λ νκ³ νμ§λ§ κ³μν΄μ μκ°μ΄κ³Όκ° λ¬λ€..
- κ³ λ―Όνλ λμ€ hashmapμ keyκ°μ νμ©νλ©΄ κ²μμ΄ λΉ λ₯΄λ€λ κ²μ΄ μκ°μ΄ λ¬κ³ hashmapμ νμ©ν κ²°κ³Ό, ν΄κ²°ν μ μμλ€...γ γ (λ μ’μ λ°©λ²μ΄ μλ€λ©΄ μλ €μ£ΌμΈμ γ γ )
μ½λ
import java.io.*;
import java.util.*;
public class BOJ1764 {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st = new StringTokenizer(br.readLine());
// λ£λ 보λ λͺ»ν μ¬λμ μ
int N = Integer.parseInt(st.nextToken());
// 보λ λͺ»ν μ¬λμ μ
int M = Integer.parseInt(st.nextToken());
// λ£λ 보λ λͺ»ν μ¬λμ μ μ₯ν hashmap
HashMap<String, String> no_l = new HashMap<>();
// λ£λ 보λ λͺ»ν μ¬λμ μ μ₯ν λ°°μ΄
List<String> result = new ArrayList<>();
// λ£λ 보λ λͺ»ν μ¬λλ€μ μ
λ ₯λ°μ λ°°μ΄μ μ μ₯
for(int i = 0; i < N; i++){
String s = br.readLine();
no_l.put(s, "1");
}
// 보λ λͺ»ν μ¬λλ€μ μ
λ ₯λ°μ λ€,
// λ£λ 보λ λͺ»ν μ¬λμ μ μ₯ν λ°°μ΄μ μμΌλ©΄ κ²°κ³Ό λ°°μ΄μ μ μ₯
for(int i = 0; i < M; i++){
String s = br.readLine();
if(no_l.containsKey(s)){
result.add(s);
}
}
// μ λ ¬νκΈ°
Collections.sort(result);
sb.append(result.size() + "\n");
for(int i = 0; i < result.size(); i++){
sb.append(result.get(i) + "\n");
}
System.out.println(sb);
}
}
'μκ³ λ¦¬μ¦' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java] BOJ 11399 ATM (2) | 2024.07.23 |
---|---|
[Java] BOJ 11047 λμ 0 (2) | 2024.07.23 |
[Java] BOJ 1874 μ€ν μμ΄ (14) | 2024.07.23 |
[Java] BOJ 1654 λμ μλ₯΄κΈ° (10) | 2024.07.22 |
[Java] BOJ 2108 ν΅κ³ν (2) | 2024.07.22 |