백준 3052 나머지 / set함수

Dreamer_01·2021년 1월 8일
0

알고리즘 풀이

목록 보기
17/34

문제링크:https://www.acmicpc.net/problem/3052

이전 문제의 또다른 버전이라고 생각된다.

count함수,list가 또다시 핵심

arr = [(int(input()) % 42) for i in range(10)]
times = 0
for i in range(43):
    n = arr.count(i)
    if n != 0:
        times += 1
print(times)

for문과 input문을 한번에 넣어서 리스트로 바로 만들고,
n이 0 이아닐때 times값을 증가시켜 서로 다른 나머지가 몇개있는지 센다.



간소화 버전.

s=set()
for i in range(10):
   s.add(int(input())%42)
print(len(s))

여기서 처음보는 함수가 나왔는데 set 함수이다.

이함수는 집합을 표현하는 함수로, 중복된 값은 제거하는 특성을 가지고 있다.

위의 경우는 s라는 집합을 선언한 후, for문으로 10번을 돌리고, input으로 값을 받은뒤 그 값의 나머지를 집합에 삽입하는 것으로 사용하였다.
집합 함수의 특징으로 중복된 값은 제거됨으로, 이 집합의 길이가 입력한 값들의 나머지 종류의 갯수이다.

0개의 댓글

관련 채용 정보