Java/Baekjoon

[Baekjoon] 1764번 듣보잡 (Java)

다콩잉 2022. 10. 2. 20:58

 

사실 처음에 문제 이해를 잘 못해서 시간이 조금 걸렸었다..

출력 첫줄 숫자는 듣도 못한 사람에 존재하는 사람 수,

그 다음 줄부터는 듣도 못한 사람에 존재하는 사람 이름을 사전순으로 출력한 것이다.

baesangwook이 ohhenrie보다 사전적으로 앞에 있기 때문에 ohhenire보다 baesangwook을 먼저 출력

 

 

예제 입력1

3 4
ohhenrie
charlie
baesangwook
obama
baesangwook
ohhenrie
clinton

예제 출력1

2
baesangwook
ohhenrie

 

 

import java.util.*;

public class Main {
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        String[] num = scan.nextLine().split(" ");
        HashSet<String> set = new HashSet<String>();    // 중복되는 이름이 없도록 set 사용
        for(int i = 0; i < Integer.parseInt(num[0]); i++){
            set.add(scan.nextLine());               // 듣도 못한 사람 추가
        }
        int cnt = 0;
        ArrayList<String> arr = new ArrayList<String>();
        for(int i = 0; i < Integer.parseInt(num[1]); i++){
            String str = scan.nextLine();
            if(arr.contains(str)){ continue; }
            else if(set.contains(str)){
                cnt++;          // 듣도 못한 사람의 수
                arr.add(str);   // 듣도 못한 사람 추가
            }
        }
        System.out.println(cnt);
        Collections.sort(arr);      // 사전순으로 정렬
        for(int i=0; i<arr.size(); i++){
            System.out.println(arr.get(i));
        }
    }
}
728x90