관리 메뉴

100세까지 코딩

[백준] 3052번 나머지 (파이썬) + set 내장 함수 정리 본문

코딩테스트/파이썬

[백준] 3052번 나머지 (파이썬) + set 내장 함수 정리

100세까지 코딩 2024. 1. 8. 18:06
문제

나의 생각
  • 서로 다른 값을 저장할 수 있게 중복을 삭제해 주는 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
참고 링크
 

Built-in Types

The following sections describe the standard types that are built into the interpreter. The principal built-in types are numerics, sequences, mappings, classes, instances and exceptions. Some colle...

docs.python.org

편의를 위해 제공해 준 함수를 잘 사용하자!