코딩/백준

#002 [3052] 백준 나머지 파이썬

갬발장 2022. 10. 11. 00:27

문제

 

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

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

 

입력

첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.

출력

첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.

 

예제 입력

1
2
3
4
5
6
7
8
9
10

예제 출력

10

 

 

내가 푼 코딩

 

a = []
b=[]
for i in range(10):
    k =int(input())
    a.append(k)


for i in range(10):
    N=a[i]%42
    b.append(N)

c =[]

for v in b:
    if v not in c:
        c.append(v)

print(len(c))

 

간단한 풀이

 

arr = []

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

 

  • 중복값을 가질 수 없는 set의 성질을 이용한 풀이