[파이썬] 3052번:나머지

김충섭·2021년 6월 2일
0

백준

목록 보기
30/39
post-thumbnail
post-custom-banner



42로 나눈 나머지를 리스트에 담는 것 까지는 성공했지만 서로 다른 값이 몇 개가 있는지는 못 구해서 구글에 검색하였다.

해결 방법은 set()(=집합자료형)을 사용하는 것이다.
set()은 다음과 같이 2가지 특징을 가지고 있다.

  • 중복을 허용하지 않는다.
  • 순서가 없다(unordered).

리스트나 튜플의 경우 순서(ordered)가 있기 때문에 인덱싱(ex.a[1])을 통한 자료형의 값을 얻을 수 있지만, set 자료형은 순서가 없기 때문에 인덱싱으로 자료형의 값을 구할 수 없다.

중복이 사라진 이후에는 len()함수를 이용하여 요소의 갯수를 구한다.len()는 다음과 같은 특징을 가진다.

  • len(s) : 입력값 s의 길이(요소의 전체 갯수)를 구해준다.
# 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()를 이용하여 요소의 갯수를 얻는다.
profile
나를 위한 개발블로그
post-custom-banner

0개의 댓글