less than 1 minute read

문제 풀이 방식

  • 차집합 구현
  • 정렬된 set인 TreeSet을 사용해야 함 (HashSet은 정렬 보장이 안됨)
  • BufferedReader 사용해야 입출력 길이 커져도 IO 시간처리에 문제 안생김

문제 풀이 (Java)

import java.io.BufferedReader;  
import java.io.IOException;  
import java.io.InputStreamReader;  
import java.util.*;  
  
public class boj1822 {  
  
    static int N;  
    static int M;  
    static TreeSet<Integer> setA = new TreeSet<>();  
  
    public static void main(String[] args) throws IOException {  
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));  
        StringTokenizer st = new StringTokenizer(br.readLine());  
  
        N = Integer.parseInt(st.nextToken());  
        M = Integer.parseInt(st.nextToken());  
  
        st = new StringTokenizer(br.readLine());  
        for(int i = 0; i < N; i++) {  
            setA.add(Integer.parseInt(st.nextToken()));  
        }  
  
        st = new StringTokenizer(br.readLine());  
        for(int i = 0; i < M; i++) {  
            Integer newtmp = Integer.parseInt(st.nextToken());  
            setA.remove(newtmp);  
        }  
  
        if(setA.isEmpty()){  
            System.out.println(0);  
        }else{  
            System.out.println(setA.size());  
            for(Integer i : setA) System.out.print(i + " ");  
        }  
    }  
}

Leave a comment