티스토리 뷰

n,m = map(int, input().split())
a = {int(x) for x in input().split()}
b = {int(x) for x in input().split()}
a-=b
print(len(a))
if len(a)>0:
    print(*sorted(a))

 

풀이 : set(집합)

 

python에서 set(집합)은 중복된 데이터가 없고, 순서가 없는 데이터 구조이다.

보통 a = {1,2,3} 이런식으로 초기화 하나, a={} 이것은 dict (map) 이므로 주의해야 한다.

 

List Comprehension 이 [] 라면

Set Comprehension 은 {} 으로 만들 수 있다.

 

set은 순서가 없기 때문에 입력한것을 그대로 출력한다고 해도 다르게 나올 수 있다. 그러므로 대부분의 객체에 사용할수 있는 sorted() 을 사용해서 정렬후 출력이 가능하며, 길이를 알고 싶을때는 len() 을 사용하면 된다.

 

set의 차집합은 - 을 해주면 된다.

 

list 처럼 set 또한 그냥 출력하면 [ ] 이렇게 감사써 출력되기 때문에 앞에 * 을 붙여주어야 한다.

 

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

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
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 28 29 30
글 보관함