https://www.acmicpc.net/problem/1764
1764번: 듣보잡
첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다.
www.acmicpc.net
접근 :
- N , M 을 입력받는다.
- N 명에 해당하는 사람 수 만큼 Map에 저장한다.
- 이 후 M 명의 사람을 받을 때, N 에 저장된 이름이면 List에 저장한다.
- List 를 사전 순서대로 정렬 한 후, 인원수 및 이름 들을 출력한다.
코드 구현 :
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
String[] inputs = br.readLine().split(" ");
int n = Integer.parseInt(inputs[0]);
int m = Integer.parseInt(inputs[1]);
String temp = "";
HashMap<String, Integer> n_numbers = new HashMap<>();
ArrayList<String> m_numbers = new ArrayList<>();
for (int i = 0; i < n; i++) {
n_numbers.put(br.readLine(), 1);
}
int result = 0;
for (int j = 0; j < m; j++) {
temp = br.readLine();
if (n_numbers.containsKey(temp)) {
m_numbers.add(temp);
result++;
}
}
sb.append(result).append("\n");
Collections.sort(m_numbers);
for (String str : m_numbers) {
sb.append(str).append("\n");
}
System.out.println(sb);
br.close();
}
}
'JAVA > Coding Test' 카테고리의 다른 글
[JAVA] 백준 11478 서로 다른 부분 문자열의 개수_집합과맵 (0) | 2023.03.05 |
---|---|
[JAVA] 백준 1269 대칭 차집합_집합과맵 (0) | 2023.03.05 |
[JAVA] 백준 10816 숫자 카드 2_집합과맵 (0) | 2023.03.03 |
[JAVA] 백준 1620 나는야 포켓몬 마스터 이다솜_집합과맵 (0) | 2023.03.03 |
[JAVA] 백준 14425 문자열 집합 (0) | 2023.03.02 |