- 문제
Softeer - 현대자동차그룹 SW인재확보플랫폼
softeer.ai
- 풀이
import java.io.*;
import java.util.*;
public class Main {
//자료형의 범위와 모듈러 분배 법칙을 이해하면 풀 수
//있는 문제였습니다.
public static void main(String[] args) throws Exception {
//bufferedReader와 StringTokenizer를 통해 입력을 받습니다.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
//연산에 long 자료구조를 사용해야 하기 때문에 long으로 변환하여 담아줍니다.
//int로 받을 경우 K마리가 P배로 증가하는 부분에서 문제가 발생할 수 있습니다.
//K의 최대값 100,000,000와 P의 최대값 100,000,000의 곱은 미리 1,000,000,007 으로 모듈러
//분배 연산을 하더라도 범위를 초과해 원하는 값을 구할 수 없습니다.
//따라서 미리 long 자료구조를 통해 연산을 하여 이를 방지합니다.
long K = Long.parseLong(st.nextToken());
long P = Long.parseLong(st.nextToken());
long N = Long.parseLong(st.nextToken());
//for문을 통해 N초 동안 바이러스가 증가하는 것을 표현합니다.
for(int i=0; i<N; i++){
K = (K*P)%1000000007; //모듈러 연산을 미리미리 하여 줍니다.
}
//답을 출력합니다.
System.out.println(K);
}
}
'Coding Test > Softeer' 카테고리의 다른 글
[소프티어] 나무 공격, java (0) | 2025.02.21 |
---|---|
[소프티어] Recovering the Region, java (0) | 2025.02.18 |
[소프티어] CPTI, java (0) | 2025.02.16 |
[소프티어] GPT식 숫자 비교, java (0) | 2025.02.07 |
[소프티어] 주행거리 비교하기, java (0) | 2025.02.07 |