[백준 알고리즘] 1764번 / 듣보잡

2021. 4. 4. 23:42알고리즘/백준

728x90
반응형
SMALL

문제

김진영이 듣도 못한 사람의 명단과, 보도 못한 사람의 명단이 주어질 때,

듣도 보도 못한 사람의 명단을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다.

이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다.

이름은 띄어쓰기 없이 영어 소문자로만 이루어지며, 그 길이는 20 이하이다. N, M은 500,000 이하의 자연수이다.

 

듣도 못한 사람의 명단에는 중복되는 이름이 없으며, 보도 못한 사람의 명단도 마찬가지이다.

 

출력

듣보잡의 수와 그 명단을 사전순으로 출력한다.

 

입출력 예제

입력 출력
3 4
ohhenrie
charlie
baesangwook
obama
baesangwook
ohhenrie
clinton
245
642
baesangwook
ohhenrie

 

 

🌈 문제 풀이

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
32
33
34
35
36
37
38
39
40
41
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Scanner;
import java.util.Set;
 
public class No1764_ListenSeen {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int n = sc .nextInt();
        int m = sc.nextInt();
        
        Set<String> notListen = new HashSet<String>();
        List<String> notSeen = new ArrayList<String>();
        
        /* 듣도 못한 사람 */
        for (int i = 0; i < n; i++) {
            notListen.add(sc.next());
        }
        
        /* 보도 못한 사람 */
        for (int i = 0; i < m; i++) {
            String s = sc.next();
            if (notListen.contains(s)) {
                notSeen.add(s);
            }
        }
        
        sc.close();
        
        Collections.sort(notSeen);    // 사전순 정렬
        
        System.out.println(notSeen.size());
        for (String string : notSeen) {
            System.out.println(string);
        }
    }
}
 
cs

 

👩‍💻 풀어보기 👨‍💻 https://www.acmicpc.net/problem/1764

 

1764번: 듣보잡

첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다.

www.acmicpc.net

 

728x90
반응형
LIST