읽기 전

  • 불필요한 코드나 잘못 작성된 내용에 대한 지적은 언제나 환영합니다.
  • 개인적으로 배운 점을 정리한 글입니다.

문제 링크

문제 1009. 분산처리

문제 풀이

정답률이 낮아 난이도가 굉장할 줄 알았지만 배수판정법과 연관된 문제이다. 곱하는 수를 10으로 나눈 나머지는 1의 자리이고 해당 자리수가 계속 거듭제곱 곱해질 때마다 등장하는 숫자는 일정하다는 개념만 가지고 있으면 된다. 다만 일의 자리가 0의 경우엔 법 10에 대해 나머지가 0으로 간주하여 10에 배수라고 생각하면 10번째 컴퓨터가 연산할 것이다.

python 코드

n = int(input())
board = [[10], [1], [2, 4, 8, 6], [3, 9, 7, 1], [4, 6],
         [5], [6], [7, 9, 3, 1], [8, 4, 2, 6], [9, 1]] # 각 자리수 거듭제곱 배열 저장
for _ in range(n):
    a, b = map(int, input().split())
    r = board[a % 10] # 일의 자리수 좌표 접근
    sol = r[b % len(r) - 1] # 거듭제곱 결과 (0좌표이므로 -1)
    print(sol)

'Algorithms > Baekjoon' 카테고리의 다른 글

BOJ #1629 곱셈  (0) 2021.05.07
BOJ #1699 제곱수의 합  (0) 2021.04.24
BOJ #1541 잃어버린 괄호  (0) 2021.04.24
BOJ #1759 암호 만들기  (0) 2021.04.24
BOJ #1002 터렛  (0) 2021.04.08

+ Recent posts