CodingTest/Softeer

[softeer] 소프티어(파이썬): 바이러스 ★★

JunJangE 2021. 5. 17. 18:19

문제

 

Softeer

제한시간 : C/C++(1초), Java/Python(2초) | 메모리 제한 : 256MB 바이러스가 숙주의 몸속에서 1초당 P배씩 증가한다. 처음에 바이러스 K마리가 있었다면 N초 후에는 총 몇 마리의 바이러스로 불어날까? N초

softeer.ai

- 바이러스는 1초당 P배씩 증가한다.

- K마리가 있었다면 N초 후에는 총 몇 마리의 바이러스로 불어나는지를 구하는 문제이다.

- N초 동안 죽는 바이러스는 없다.

- 바이러스의 수가 K일때 1 ≤ K ≤ 10^8인 정수이다.

- 증가율이 P일때 1 ≤ P ≤ 10^8인 정수이다.

- 총 시간이 N일때 1 ≤ N ≤ 10^6인 정수이다.

- 최종 바이러스 개수를 1000000007로 나눈 나머지를 출력한다.

알고리즘

- 바이러스의 수, 증가율, 총 시간을 입력받는다.

- 총 시간 동안 반복하여 바이러스의 수를 증가율만큼 증가시킨다.

- 증가시킨 바이러스는 1000000007로 나누고 나눈 나머지를 총 바이러스의 수에 넣어 반복한다.

코드

import sys

k, p, n = list(map(int,sys.stdin.readline().split()))

# 총 시간동안 바이러스를 증가시킨다.
for i in range(n):
    k = (k * p) % 1000000007

print(k)

github

 

junjange/CodingTest

내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.

github.com