repository

[백준_1764/JAVA] 듣보잡 본문

Algorithm/Baekjoon

[백준_1764/JAVA] 듣보잡

repository 2025. 3. 6. 20:07

 

https://www.acmicpc.net/problem/1764

문제풀이

듣도 못한 사람과 보도 못한 사람의 교집합을 찾아 사전순으로 출력하는 문제이다.

나는 중복방지를 위해 HashSet 사용, 사전 순 정렬을 위해 ArrayList 사용했다.

코드

public class Main {
    public static void main(String[] args) throws IOException {
    	BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    	BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
    	
    	StringTokenizer st=new StringTokenizer(br.readLine());
    	int N=Integer.parseInt(st.nextToken()); // 듣도 못함
    	int M=Integer.parseInt(st.nextToken()); // 보도 못함
    	
    	// 듣도 못함
    	HashSet<String> set=new HashSet<>();
    	for(int i=0;i<N;i++) {
    		set.add(br.readLine());
    	}
    	
    	
    	ArrayList<String> result=new ArrayList<>();
    	
    	// 보도 못함
    	for(int i=0;i<M;i++) {
    		String str=br.readLine();
    		// 듣도 보도 못함
    		if(set.contains(str)) {
    			result.add(str);
    		}
    	}
    	
    	Collections.sort(result);
    	
    	StringBuilder sb=new StringBuilder();
    	sb.append(result.size()).append("\n");
    	for(int i=0;i<result.size();i++) {
    		sb.append(result.get(i)).append("\n");
    	}
    	
    	bw.write(sb.toString());
    	bw.flush(); bw.close();
    }    
}