BOJ-1009 - Python

n과 m을 입력받은 후 nm의 일의 자릿수를 (0일 때는 10) 출력하는 문제. 첫 풀이는 단순히 str(nm)[-1]을 통해 풀었으나 수가 커질 수록 걸리는 시간이 크게 늘기 때문에 l = [[10], [1], [6,2,4,8], [1,3,9,7], [6,4], [5], [6], [1,7,9,3], [6,8,4,2], [1,9]] 위와 같이 규칙을 찾아 2차원 리스트로 만든 후 n과 m에 나머지 연산을 통해 출력하였다.

l = [[10], [1], [6,2,4,8], [1,3,9,7], [6,4], [5], [6], [1,7,9,3], [6,8,4,2], [1,9]]
for _ in range(int(input())):
    n, m = map(int, input().split())
    n %= 10
    m %= len(l[n])
    print(l[n][m])

Written by@hyesungoh
Learning every moment

InstagramGitHubLinkedIn