문제: https://school.programmers.co.kr/learn/courses/30/lessons/132267
class Solution {
public int solution(int a, int b, int n) {
int answer = 0;
while (n >= a) {
int div = (n / a) * b;
answer += div;
n = (n % a) + div;
}
return answer;
}
}
탈출 조건을 설정하는것이 매우 어려웠다…
재귀로도 다시 풀어 보았다!
class Solution {
public int solution(int a, int b, int n) {
return recur(a,b,n,0);
}
public int recur(int a, int b, int n, int cur){
// finish
if(n < a){
return cur;
}
// repeat
int div = (n/a)*b;
cur += div;
int rest = n%a;
return recur(a,b,div+rest,cur);
}
}