파이썬/예제

백준 3052번 나머지 - 리스트 2개 사용하기

thpop 2025. 5. 19. 15:47
반응형

백준 3052번 / 나머지 : https://www.acmicpc.net/problem/3052

 

이번 문제는 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구하고, 그 다음에 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 만드는 문제이다.

 

이번 문제를 푸는 실마리는 두 개의 리스트를 같이 사용하는 것이다.

두 개의 빈 리스트를 만들고, 첫 번째에는 10개의 수를, 두 번째에는 첫 번째 안에 들어있는 10개의 수를 나눈 나머지를 저장하는 것이다.

 

문제를 푸는 흐름은 다음과 같다.

 

  • 10개의 입력된 숫자를 저장할 리스트와 서로 다른 나머지들을 저장할 리스트를 만든다.
  • 10번 반복하면서 다음을 수행한다:
    • 하나의 숫자를 입력받아 첫 번째 리스트에 추가한다
    • 입력받은 숫자를 42로 나눈 나머지를 계산한다.
    • 이 나머지가 두 번째 리스트에 아직 포함되어 있지 않다면 나머지를 두 번째 리스트에 추가한다.
  • 10개의 숫자에 대한 처리가 모두 끝나면, 두 번째 리스트의 길이를 출력한다.

내가 만든 코드는 다음과 같다.

list1 = []
list2 = []

for i in range(10):
    a = int(input())
    list1.append(a)
    b = a % 42
    if b not in list2:
        list2.append(b)

print(len(list2))

 

 

출력 결과는 다음과 같다.

반응형