[프로그래머스/Javascript] 콜라 문제

TED·2023년 9월 2일
0

Javascript CodingTest

목록 보기
18/63
post-thumbnail

콜라문제

콜라 문제

function solution(a, b, n) {
    let answer = 0
    while(n >= a) { // 빈병 개수가 교환가능한 빈병 개수보다 높을때만 돌리기
        answer += Math.floor(n / a) * b // parseInt 도 상관없다.
        n = Math.floor(n / a) * b + n % a
    } 
    return answer
}

// while 의 반복이 헷갈렸다 처음 써본건데,
// n값의 코드로인해 a값보다 작아질때까지 answer값에 + 되는것.
  • 나의 풀이
    : 아침마다 알고리즘 풀이를 하는데 산수가 안된다 머리속에서.. 그래서 고생좀 했고,
    노트에 풀이를 해서 풀었다. 일단 while은 반복문이기때문에 처음 n값이 예시와 같이 20으로 시작되고,
    n = Math.floor(n / a) * b + n % a 여기서 남은 병수가 계산되면 다시 돌면서 코드가 돌아간다.
    위의 예시와 같이 20병으로 시작할시 5병이 남는 상황에서는 남는 병의 개수가 1개가 된다는걸 잊지 말아야한다.
    그래서 총 19병의 콜라를 얻게된다.
profile
컴맹 개발 입문자

0개의 댓글