문제 링크: https://www.acmicpc.net/problem/3052
문제
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.
출력
첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.
코드
Arr= []
for i in range(10):
num = int(input())
Arr.append(num % 42)
newArr = set(Arr)
print(len(newArr))
코드 설명
1. 숫자를 입력받을 빈 배열을 만든다.
2. input 함수를 통해 숫자를 입력받고, append를 통해 배열에 원소를 추가한다.
3. 이때 원소는 입력받은 숫자를 42로 나눈 몫이된다.
4. 배열에 중복 값을 제거하기 위해 set 함수를 사용한다.
5. 배열 newArr의 lenth를 출력한다.
반응형
'IT > 알고리즘' 카테고리의 다른 글
[BAEKJOON] 백준 4636번: 셀프 넘버 (Python) (0) | 2021.08.13 |
---|---|
[BAEKJOON] 백준 15596: 정수 N개의 합 (Python) (0) | 2021.08.13 |
[BAEKJOON] 백준 4344번: 평균은 넘겠지 (Python) (0) | 2021.08.13 |
[BAEKJOON] 백준 8958번: OX 퀴즈 (Python) (0) | 2021.08.12 |
[BAEKJOON] 백준 1546번: 평균 (Python) (0) | 2021.08.12 |
댓글