우선 콜라 빈 병 20병을 가져가서 10병을 받습니다.
받은 10병을 모두 마신 뒤, 가져가서 5병을 받습니다.
5병 중 4병을 모두 마신 뒤 가져가서 2병을 받고, 또 2병을 모두 마신 뒤 가져가서 1병을 받습니다.
받은 1병과 5병을 받았을 때 남은 1병을 모두 마신 뒤 가져가면 1병을 또 받을 수 있습니다. 이 경우 상빈이는 총 10 + 5 + 2 + 1 + 1 = 19병의 콜라를 받을 수 있습니다.
a | b | n | result |
---|---|---|---|
2 | 1 | 20 | 19 |
3 | 1 | 20 | 9 |
function solution(a, b, n) {
let answer = 0;
while (n >= a) {
answer += Math.floor(n / a) * b;
n = Math.floor(n / a) * b + n % a;
}
return answer;
}
🤍 Math.floor()
Math.floor(10.1010); // 10
🤍 Math.ceil()
Math.floor(10.1010); // 11
🤍 Math.round()
Math.round(10.1010); // 10
Math.round(10.5010); // 11