풀이방법
사용된 것:
TreeSet
2022.06.12
TreeSet을 사용한다.
- A의 모든 요소들을 TreeSet에 넣는다. add()를 사용한다.
- B의 모든 요소들에 대하여, TreeSet에 포함된 요소라면 TreeSet에서 해당 요소를 지운다. contains()와 remove()를 사용한다.
- 첫째 줄에 TreeSet의 크기를 출력한다. size()를 사용한다.
- 둘째 줄에 TreeSet의 모든 요소를 처음부터 출력한다. for(int i: (트리셋 이름)) 을 사용해도 되고, while(!(트리셋 이름).isEmpty()) 반복문 안에서 pollFirst()로 출력해도 된다.
코드
Java(2022.06.13)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.TreeSet;
public class Main {
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
TreeSet<Integer> ts = new TreeSet<Integer>();
//집합 A의 원소들을 넣기
st = new StringTokenizer(br.readLine());
for(int i=0; i<a; i++) ts.add(Integer.parseInt(st.nextToken()));
//겹치는 수 삭제
st = new StringTokenizer(br.readLine());
for(int i=0; i<b; i++) {
int t = Integer.parseInt(st.nextToken());
if(ts.contains(t)) ts.remove(t);
}
//정답 출력
System.out.println(ts.size());
while(!ts.isEmpty()) System.out.print(ts.pollFirst() + " ");
}
}
'알고리즘 문제풀이 > 백준' 카테고리의 다른 글
#2805 : 나무 자르기 (0) | 2022.06.15 |
---|---|
#1654 : 랜선 자르기 (0) | 2022.06.14 |
#1246 : 온라인 판매 (0) | 2022.06.12 |
#10825 : 국영수 (0) | 2022.06.12 |
#2217 : 로프 (0) | 2022.06.12 |