프로그래밍/파이썬 공부

[백준 #3052][Python] 나머지

winblack22 2021. 9. 6. 21:23

문제

두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.

수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.

 

풀이

list는 [] !!! 기억하자!!!

처음에 list(10)으로 썼다가 오류났다 ㅎㅎㅎ 나 진자 개 멍청해 ㅎㅎㅎ

num = []

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

10개의 숫자를 입력 받고... 42로 나눈 나머지를 계산해서 곧바로 리스트에 추가(append함수)한다!!

 

오늘의 포인트!!!

: set(num)

 

set은 집합! 즉, 리스트의 원소들을 중복제거 해주는 것이다!!!

  • list 리스트 : 예) [1, 3, 3, 2, 4, 2]
  • set 집합 : 예) [1, 3, 2, 4]

 

s = set(num) 을 해주고 난 다음, s는 중복제거 된 나머지들만 존재한다... 이 s의 길이를 재주면 서로 다른 값들이 몇 개 있는지 출력이 된다!!!