42로 나눈 나머지를 리스트에 담는 것 까지는 성공했지만 서로 다른 값이 몇 개가 있는지는 못 구해서 구글에 검색하였다.
해결 방법은 set()(=집합자료형)을 사용하는 것이다.
set()은 다음과 같이 2가지 특징을 가지고 있다.
리스트나 튜플의 경우 순서(ordered)가 있기 때문에 인덱싱(ex.a[1])을 통한 자료형의 값을 얻을 수 있지만, set 자료형은 순서가 없기 때문에 인덱싱으로 자료형의 값을 구할 수 없다.
중복이 사라진 이후에는 len()함수를 이용하여 요소의 갯수를 구한다.len()는 다음과 같은 특징을 가진다.
# len() 예시
>>> len("python")
6
>>> len([1,2,3])
3
>>> len((1, 'a'))
2
소스코드
l = list()
for i in range(10): # 9번 반복
a = int(input()) # 한 줄 한 입력
l.append(a % 42) # 나머지 값을 리스트에 저장
l = set(l) # 집합자료형을 이용하여 중복을 없앤다.
print(len(l)) # len()를 이용하여 요소의 갯수를 얻는다.