-
[Softeer] 바이러스Algorithm/Softeer 2024. 1. 29. 20:06
Softeer - 현대자동차그룹 SW인재확보플랫폼
softeer.ai
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class 바이러스 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); long K = Integer.parseInt(st.nextToken()); int P = Integer.parseInt(st.nextToken()); int N = Integer.parseInt(st.nextToken()); while(N > 0) { K = K % 1000000007 * P; N--; } System.out.println(K % 1000000007); } }
- 제약조건을 확인해보니 K의 값이 계속 갱신되면 int의 범위를 벗어날 거 같았다.
- 정수 타입을 long 타입으로 선언을 하였고 모든 산수가 이뤄진 후 나머지를 계산하면 long의 범위도 벗어날 것이라 생각했다.
- 최종 바이러스 개수인 K의 값을 1000000007로 나머지 연산을 해서 출력하기 때문에 중간에 나머지 연산을 섞어 K의 값을 갱신해도 답은 같게 나온다.
'Algorithm > Softeer' 카테고리의 다른 글
[Softeer] [21년 재직자 대회 예선] 전광판 (0) 2024.02.04 [Softeer] [21년 재직자 대회 예선] 비밀 메뉴 (0) 2024.02.03 [Softeer] [21년 재직자 대회 예선] 회의실 예약 (1) 2024.02.02