반응형
문제
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
https://www.acmicpc.net/problem/3052
3052번: 나머지
각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.
www.acmicpc.net
import sys
remainder=[0]*42
count=0
for _ in range(10):
num=int(sys.stdin.readline())
remainder[num%42]+=1
for x in range(42):
if(remainder[x]>0):
count+=1
print(count)
※ 반복문

● 나머지는 0부터 41까지 나올 수 있으므로 총 42칸의 배열을 0으로 초기화하여 생성해준다.
● 그 후 숫자 10개를 입력받아 각각의 숫자를 42로 나누고, 42로 나눈 값을 인덱스로 하는 배열 칸의 값을 1씩 증가시켜준다.
● 각각의 배열 칸을 돌며 그 칸의 값이 0보다 크면 count값을 1씩 증가시켜주고 출력하면 해결된다.


반응형
'백준(baekjoon) > 브론즈' 카테고리의 다른 글
백준(baekjoon) 10872번: 팩토리얼(브론즈 5, 파이썬 PYTHON) - 재귀 (0) | 2022.09.01 |
---|---|
백준(baekjoon) 4344번: 평균은 넘겠지(브론즈 1, 파이썬 PYTHON) - 1차원 배열 (0) | 2022.08.30 |
백준(baekjoon) 2439번: 별 찍기-2 (브론즈 4, 파이썬 PYTHON) - 반복문 (0) | 2022.08.30 |
백준(baekjoon) 2438번: 별 찍기 (브론즈 5, 파이썬 PYTHON) - 반복문 (0) | 2022.08.30 |
백준(baekjoon) 1110번: 더하기 사이클 (브론즈 1, 파이썬 PYTHON) - 반복문 (0) | 2022.08.30 |