반응형
백준 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))
출력 결과는 다음과 같다.

반응형
'파이썬 > 예제' 카테고리의 다른 글
| 백준 1546번 평균 - 헷갈리지말자 (1) | 2025.05.19 |
|---|---|
| 백준 10811번 바구니 뒤집기 - swap 매커니즘 (0) | 2025.05.19 |
| 백준 5597번 과제 안 내신 분...? - 역시나 리스트 (0) | 2025.05.19 |
| 백준 10813번 공 바꾸기 - 스왑(swap) 사용하기 (0) | 2025.05.19 |
| 백준 10810번 공 넣기 - 리스트 & 조건문 (0) | 2025.05.19 |