프로그래머스 문제를 풀다가 다른 사람의 풀이를 보고 집합 자료형에 대해 한 번 정리해보고자 포스팅하게 되었다.
✅ 자료형 설명
집합(set) 자료형은 우리가 흔히 아는 수학에서의 집합과 비슷하다.
순서가 없고, 중복 또한 없다.
따라서 중복을 제거하기 위한 필터로 set이 종종 사용되기도 한다.
🍏 예시 코드
s1 = set(1, 2, 3) # s1 = {1, 2, 3}
s2 = set([1, 2, 3]) # s2 = {1, 2, 3}
s3 = set("hello") # s3 = {'e', 'H', 'l', 'o'}
✅ 설명
set 자료형은 교집합, 합집합, 차집합을 구할 때 매우 유용하다.
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
아래의 예시 코드를 통해 s1, s2 교집합, 차집합, 합집합을 구하는 방법을 알아보자.
🍏 예시 코드
s1 & s2 # {4, 5, 6}
s1.intersection(s2) # {4, 5, 6}
s1 | s2 # {1, 2, 3, 4, 5, 6, 7, 8, 9}
s1.union(s2) # {1, 2, 3, 4, 5, 6, 7, 8, 9}
s1 - s2 # {1, 2, 3}
s1.difference(s2) # {1, 2, 3}
✅ 설명
set 자료형은 다양한 메소드를 가지고 있다. 본 포스팅에서는 기본적인 메소드 몇 가지를 알아보고자 한다. 아래 예시 코드를 참고 바란다.
🍏 예시 코드
add())s1 = set([1, 2, 3])
s1.add(4) # s1 = {1, 2, 3, 4}
update())s1 = set([1, 2, 3])
s1.update([4, 5, 6]) # s1 = {1, 2, 3, 4, 5, 6}
update()의 매개변수로는 리스트, 튜플, 집합 모두 들어갈 수 있다.
remove())s1 = set([1, 2, 3])
s1.remove(2) # s1 = {1, 3}