[python] 백준 3052 : 나머지

728x90

https://www.acmicpc.net/problem/3052

 

3052번: 나머지

각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.

www.acmicpc.net


42로 나눈 나머지를 새로운 리스트에 저장하고, 중복된 값을 제외시키는 과정이 필요하다.

 

1 : for문을 사용한 풀이법

arr = []
for i in range(10):
    a = int(input())
    if a%42 not in arr:
        arr.append(a % 42)
print(len(arr))

새로운 리스트에 넣을 a%42(a를 42로 나눈 나머지)가 리스트 arr에 포함되어 있는지 확인하는 과정을 걸친 후, 마지막으로 리스트의 길이를 출력하는 방법.

 

 

2 : set()함수를 사용한 풀이법

set()함수는 중복된 값을 뺄 수 있으나, 순서가 뒤죽박죽이 된다. 이 문제에서는 순서대로 출력할 필요가 없으므로 사용가능하다.

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

 

728x90