문제링크: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으로 값을 받은뒤 그 값의 나머지를 집합에 삽입하는 것으로 사용하였다.
집합 함수의 특징으로 중복된 값은 제거됨으로, 이 집합의 길이가 입력한 값들의 나머지 종류의 갯수이다.