티스토리 뷰

 

2022.12.01

프로그래머스 스쿨 Lv01. 콜라 문제


 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

🚀 문제 파악

*상빈이는 빈병을 n개 가지고 있다

*빈병 a개를 가져다주면 콜라 b개를 받는다
*콜라는 받자마자 빈병으로 만들어 다시 교환한다 
*보유 중인 빈병이 a개 미만이면 추가로 빈병을 받을 수 없다
*더 이상 빈병을 교환할 수 없을 때, 총 콜라를 몇 병 받았는지 return하라

 

 

🚀 문제 해결

1. 보유 중인 빈병이 a개 미만일 때 중지되는 무한반복문을 만든다

2. 빈병을 콜라로 교환해 받는 병수는 count에 저장한다

    *count는 빈병의 개수를 a로 나누었을 때의 몫이다

3. 최종 콜라 개수를 반환할 answer에 count를 더한다

4. 빈병의 개수인 n의 값을 업데이트한다

 

   *a개가 없어 교환하지 못한 빈병의 개수와 count가 이다음 n의 값

   *a개가 없어 교환하지 못한 빈병의 개수 = n을 a로 나누었을 때의 나머지

 

 

 

🚀 통과 코드

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

 

 

댓글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
최근에 올라온 글
글 보관함
Total
Today
Yesterday