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