STUDY/Python
[Softeer] 바이러스 python
채소보끔
2023. 6. 25. 17:15
728x90
[첫번째 제출 - 시간초과]
import sys
# 1초당 p배씩 증가
k, p, n = map(int, sys.stdin.readline().split())
total_birus = (k*(p**n)) % 1000000007
print(total_birus)
input이 최대 10^8 이어 단순연산만으로도 시간 초과를 일으킬 수 있다는데...
이해가 잘되진 않았다..
아무튼 다른 방식으로 접근하려고 해보았다.
[두번째 제출 - 시간초과]
import sys
k, p, n = map(int, sys.stdin.readline().split())
total_birus = k
for _ in range(n):
total_birus *= p
print(total_birus % 1000000007)
[통과 코드]
import sys
k, p, n = map(int, sys.stdin.readline().split())
total_birus = k * pow(p, n, 1000000007)
print(total_birus % 1000000007)
두번 나누어 나머지를 구했더니 되었다..
간단한 코드지만 시간 초과로 인해 계속 오류가 났다.
코드 실행 시간에 대해서도 공부를 해서 효율적으로 짜야겠다..
728x90