https://www.acmicpc.net/problem/1673
import java.util.*;
public class Main {
private static int N = 0;
private static int K = 0;
private static int RESULT = 0;
private static int STAMP = 0;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
if(!sc.hasNextLine()) {
return;
}
String[] nums = sc.nextLine().split(" ");
N = Integer.parseInt(nums[0]);
K = Integer.parseInt(nums[1]);
STAMP = 0;
RESULT = 0;
recursive();
System.out.println(RESULT);
}
}
public static void recursive() {
if (N > 0) {
RESULT += N;
STAMP += N;
N = 0;
}
if (STAMP > 0) {
N += STAMP / K;
STAMP = STAMP % K;
}
if (N > 0) {
recursive();
}
}
}
처음 결과와 도장에는 N만큼 더해준다.
'알고리즘 > Array' 카테고리의 다른 글
일곱 난쟁이 (0) | 2021.07.14 |
---|---|
2×n 타일링 (0) | 2021.07.13 |
1로 만들기 (0) | 2021.07.12 |
1, 2, 3 더하기 (0) | 2021.07.12 |
배열에 한번만 등장하는 값 (0) | 2020.11.29 |