JavaScripts 문제

문제 52. 콜라 문제(난이도 7)

kagan-draca 2024. 7. 31. 17:33

 

반복문 안에서 돌려 받는 빈 병의 개수를 구하는 건 어렵지 않았다.

하지만, 반복을 종료할 조건과 그 다음 반복이 될 대상을 구하는 과정이

굉장히 어려웠다.

 

answer += parseInt(n / a) * b

소수점이 없는 몫 * b = 돌려 받는 개수

 

n = parseInt(n / a) * b + n % a

돌려 받는 개수 + 나머지 병 = 다음 대상이 될 수

 

parseInt(n / a) > 0

돌려받을 콜라 병수가 0보다 큰가 비교

 

제출한 코드 : 

 

function solution(a, b, n) {
    let answer = 0;
    while(parseInt(n / a) > 0)
    {
        answer += parseInt(n / a) * b
        n = parseInt(n / a) * b + n % a
    }
    return answer
}