728x90
반응형

Python 문제풀이

n = int(input(''))
result = []
for i in range(n):
    x, y = map(int, input().split())
    x = x%10
    z = x%10
    for j in range(y-1):
        z = z*x
        z = z%10
    if(z==0):
        z=10
    result.insert(i,z)

for i in range(n):
    print(result[i])

처음에는 x**y 등 그냥 제곱수를 계산하고 결과%10을 하여 도출하면 될것이라고 생각할 것이다.

 

하지만 이런 풀이는 시간제한을 지킬 수 없다. 그렇기 때문에 애초에 곱할때마다 한자리수만 남겨두어 곱한다. 어차피 우리가 필요한 값은 1의자리 수이기 때문이다.

 

그리고 그 한자리수가 0으로 끝났다면 그것은 10에 넣어줘야 하기 때문에 조건문을 달아주었다.

728x90
반응형

+ Recent posts