백준/브론즈2

[Python] 백준 1009번 - 분산처리

두부마라탕 2025. 4. 24. 16:24

https://www.acmicpc.net/problem/1009


문제

재용이는 최신 컴퓨터 10대를 가지고 있다. 어느 날 재용이는 많은 데이터를 처리해야 될 일이 생겨서 각 컴퓨터에 1번부터 10번까지의 번호를 부여하고, 10대의 컴퓨터가 다음과 같은 방법으로 데이터들을 처리하기로 하였다.

1번 데이터는 1번 컴퓨터, 2번 데이터는 2번 컴퓨터, 3번 데이터는 3번 컴퓨터, ... ,

10번 데이터는 10번 컴퓨터, 11번 데이터는 1번 컴퓨터, 12번 데이터는 2번 컴퓨터, ...

총데이터의 개수는 항상 ab개의 형태로 주어진다. 재용이는 문득 마지막 데이터가 처리될 컴퓨터의 번호가 궁금해졌다. 이를 수행해 주는 프로그램을 작성하라.

 

코드

num = int(input())
for i in range(num):
    a, b = map(int, input().split())
    lastData = pow(a, b, 10)
    print(lastData if lastData != 0 else 10)

 

풀이

1. 반복할 만큼의 숫자를 받아준다

2. for 반복문에서 map과 split 함수를 이용해 a, b를 받는다.

3. pow 함수를 사용해서 나머지를 받아준다.

4. 10의 나머지를 구했기 때문에 0인 경우는 10번 컴퓨터이기에 0이 아닌 10으로 출력하게 한다.

 

처음에 pow 함수 안 쓰고 직관적으로 % 사용했다가 시간초과를 맞닥뜨려서 파이썬 내장 함수를 사용했다.

'백준 > 브론즈2' 카테고리의 다른 글

[Python] 백준 1673번 - 치킨 쿠폰  (0) 2025.04.25
[Python] 백준 1100번 - 하얀 칸  (0) 2025.04.25
[Python] 백준 1076번 - 저항  (0) 2025.04.24
[Python] 백준 1075번 - 나누기  (0) 2025.04.24
[Python/C] 백준 1408번 - 24  (0) 2025.04.17