백준 1822 : 차집합
문제 링크
https://www.acmicpc.net/problem/1822
문제 내용
(요약) 몇 개의 자연수로 이루어진 두 집합 A와 B가 있다. 집합 A에는 속하면서 집합 B에는 속하지 않는 모든 원소를 구하는 프로그램을 작성하시오.
Idea
집합의 기능을 가지면서 순서대로 정렬해주는 TreeSet을 이용한다.
A집합의 원소를 삽입해두고 새로 받는 B집합의 원소와 비교하며 같은 원소이면 삭제한다.
- A.contains : 포함된 요소인지를 판별. true or false
- A.remove : 해당 요소를 삭제
- A.size : set의 크기(요소의 개수)를 반환
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import java.util.*;
public class Q_1822 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//TreeSet
TreeSet<Integer> A = new TreeSet<Integer>();
//원소 삽입
int a = sc.nextInt();
int b = sc.nextInt();
int i, num;
for(i=0;i<a;i++)
A.add(sc.nextInt());
for(i=0;i<b;i++) {
num=sc.nextInt();
//A에 포함된 요소면 삭제
if(A.contains(num)) A.remove(num);
}
//결과 출력
System.out.println(A.size());
for(int n : A)
System.out.print(n+" ");
sc.close();
}
}
|
cs |
'백준 Baekjoon' 카테고리의 다른 글
[C언어] 백준 10872 : 팩토리얼 (0) | 2020.08.14 |
---|---|
[C++] 백준 1920 : 수 찾기 (0) | 2020.08.06 |
[C언어] 백준 2577 : 숫자의 개수 (0) | 2020.07.30 |
[C언어] 백준 2798 : 블랙잭 (0) | 2020.07.30 |
[C언어] 백준 1475 : 방 번호 (0) | 2020.07.27 |