const solution = (a, b, n) => {
let answer = 0;
let remain = n;
while (true) {
if (a > remain) {
break;
}
answer += parseInt(remain/a)*b;
remain = parseInt(remain/a)*b + remain%a
}
return answer;
}
처음에 요구하는 빈 병의 수대로 나누어떨어질 경우와 아닌 경우를
분기 처리했었는데, 생각해 보니 그럴 필요가 없을 것 같았다
어차피 나누어떨어지면 나머지가 0일 테니까...😅
괜히 어렵게 생각하지 말자!
a : 요구하는 빈 병 수
b : a 개 받으면 주는 병 수
n : 자본금
n 개를 a로 나누고 그 몫에 주는 병수 b를 곱한 만큼 answer에 더해준다
남은 병 수는 받은 병수에 나눠떨어지지 않은 나머지를 더한 만큼 남아있게 된다
이 과정을 반복해서, 요구하는 병 수 a보다 남은 병 수가 더 적어지면 종료!
parseInt : 정수형으로 변환하는 메서드 (몫 구하기)
1트만에 성공(●'◡'●)