읽기 전
- 불필요한 코드나 잘못 작성된 내용에 대한 지적은 언제나 환영합니다.
- 개인적으로 배운 점을 정리한 글입니다.
문제 링크
문제 풀이
정답률이 낮아 난이도가 굉장할 줄 알았지만 배수판정법과 연관된 문제이다. 곱하는 수를 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 |