100세까지 코딩
[백준] 3052번 나머지 (파이썬) + set 내장 함수 정리 본문
문제
나의 생각
- 서로 다른 값을 저장할 수 있게 중복을 삭제해 주는 set() 자료형을 사용한다.
- set의 add() 내장함수를 사용하여 set에 하나씩 요소를 추가해준다.
- len() 내장함수를 사용하여 set의 길이를 출력하면 서로 다른 나머지 개수 출력 가능.
나의 풀이
number_set = set()
for i in range(10):
number_set.add(int(input()) % 42)
print(len(number_set))
숏코딩
print(len(set([int(input()) % 42 for _ in range(10)])))
참고
1. set 함수
- 수학에서의 집합과 비슷하다.
- 중복제거, 교집합, 합집합, 차집합과 같은 연산 가능하다.
- 순서가 없으며, 원소의 위치나 삽입 순서를 알지 못한다.
- 인덱싱, 슬라이싱 등의 동작을 지원하지 않는다.
2. 선언
number_set = {1,2,3} # type : set
- 중괄호 안에 바로 값 넣기
number_set = set() # type : set
- set 생성자 사용하기
number_set = {} # type : dict
- 단, 중괄호만 선언하면 dict자료형으로 알아본다. 즉, 중괄호만으로 set 선언은 불가
3. 연산
- x in set : set에 x가 있는지 확인. (있으면 True)
- x not in set : set에 x가 없는지 확인. (없으면 True)
- len(set) : set의 크기를 계산
- set.add(elem) : 원소 elem을 set에 추가. (하나의 숫자,글자,문장,튜플만 가능)
- set.update(others) : 여러 원소들을 한번에 추가.
- set.remove(elem) : 원소 elem을 set에서 제거, 없으면 KeyError
- set.discare(elem) : 원소 elem을 set에서 제거
- set.clear(elem) : set의 모든 원소 제거 (초기화)
- set.pop() : set에서 임의의 원소를 제거하고 제거 원소 리턴, 집합이 비어있으면 KeyError
참고 링크
편의를 위해 제공해 준 함수를 잘 사용하자!
'코딩테스트 > 파이썬' 카테고리의 다른 글
[백준] 1546번 평균 (파이썬) (0) | 2024.01.09 |
---|---|
[백준] 10811번 바구니 뒤집기 (파이썬) (0) | 2024.01.09 |
[백준] 10813번 공 바꾸기 (파이썬) + swap 구현 (0) | 2024.01.08 |
[백준] 2562번 최댓값 (파이썬) (0) | 2024.01.08 |
[백준] 10871번 X보다 작은 수 (파이썬) (0) | 2024.01.07 |