본문 바로가기

백준 문제풀기/JAVA

[백준 1822 JAVA 자바] 차집합

첫번째 집합과

두번째 집합의

차집합을 출력합시다

 

코드입니다

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException{
    	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));  	
    	StringTokenizer st = new StringTokenizer(br.readLine());
        
    	int n = Integer.parseInt(st.nextToken());
    	int m = Integer.parseInt(st.nextToken());
    	
        HashSet<Integer> setn = new HashSet<Integer>();
        
        st = new StringTokenizer(br.readLine());
        for(int i=0; i<n; i++) {
        	setn.add(Integer.parseInt(st.nextToken()));
        }
        
        st = new StringTokenizer(br.readLine());
        for(int i=0; i<m; i++) {
        	int t = Integer.parseInt(st.nextToken());
        	
        	if(setn.contains(t)) {
        		setn.remove(t);
        	}else {
        		continue;
        	}
        }
        System.out.println(setn.size());
        
        List<Integer> sortedList = new ArrayList<>(setn);
        Collections.sort(sortedList);
        
        for(Integer comp : sortedList) {
        	System.out.print(comp + " ");
        }

    }
}

 

어려운 코드가 들어가진 않습니다