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
반응형
'코딩문제풀이 > 백준' 카테고리의 다른 글
[백준 1919번] 애너그램 만들기 Python 풀이 (0) | 2021.07.04 |
---|---|
[백준 1032번] 명령 프롬프트 Python 풀이 (0) | 2021.07.03 |
[백준 1668번] 트로피 진열 Java 풀이 (0) | 2021.05.20 |
[백준 1439번] 뒤집기 Java 풀이 (0) | 2021.05.08 |
[백준 1434번] 책 정리 Java 풀이 (0) | 2021.05.08 |