반응형
문제 (정답률 60%)
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.
출력
첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.
예제 입력 1 복사
1 2 3 4 5 6 7 8 9 10
예제 출력 1 복사
10
각 수를 42로 나눈 나머지는 1, 2, 3, 4, 5, 6, 7, 8, 9, 10이다.
예제 입력 2 복사
42 84 252 420 840 126 42 84 420 126
예제 출력 2 복사
1
Source Code
remainder_list = [] # 나머지 리스트
for _ in range(10):
_input = int(input())
remainder_list.append(_input % 42) # 42로 나눈 나머지 저장
remainder_set = set(remainder_list) # 저장한 리스트를 집합으로 변환
print(len(remainder_set)) # 변환하면 중복이 제거 됨, 길이가 중복되지 않는 나머지의 개수
리스트를 집합으로 변환하면 중복이 제거된다.
하지만 변환 된 집합의 순서가 뒤죽박죽이 되기 때문에 다른 작업을 한다면 정렬을 따로 해줘야 된다.
반응형
'알고리즘 > 문제' 카테고리의 다른 글
[알고리즘] 백준 2738번, 백준 런타임 에러 (0) | 2023.11.02 |
---|---|
[Python] 파이썬 8958번, 파이썬 문자열 저장 방식 (0) | 2021.07.09 |
[Python] 백준 2577번 파이썬, 숫자의 개수 (0) | 2021.07.08 |
[Python] 백준 1110번 파이썬 (0) | 2021.07.08 |
[Python] 파이썬 : 여러개 입력 기준 엔터(\n), 백준 2562번 (0) | 2021.07.05 |