devlog_owen
[프로그래머스] 콜라문제 본문
728x90
문제
문제 이해가 어려웠는데 입출력 예 #2를 읽고 이해할 수 있었다.
무조건 반복문을 돌려야한다고 생각했고 평소 쓰는 for문이 아닌 while문을 써야겠다는 생각이 들었다.
나의 풀이
function solution(a, b, n) {
var answer = 0;
while(n >= a){
let cola = b * Math.floor(n/a)
answer += cola
n= (n % a) + cola
}
return answer;
}
//콜라를 받기 위해 마트에 주어야 하는 병 수 a,
// 빈 병 a개를 가져다 주면 마트가 주는 콜라 병 수 b,
// 상빈이가 가지고 있는 빈 병의 개수 n
while문으로 가지고 있는 빈병의 갯수(n)이 마트에 갖다줘야하는 빈 병수(a)보다 같거나 클때만 반복문이 돌아가도록 했다.
그 다음 받는 콜라를 cola로 정의해서 b * Math.floor(n/a)로 설정하고
n을 n을 a로 나누고 남은 나머지와 받은 콜라 갯수를 합쳐서 갱신한다.
728x90
'algorithm > (js)프로그래머스' 카테고리의 다른 글
[프로그래머스] 옹알이(2) (0) | 2023.12.11 |
---|---|
[프로그래머스] 명예의 전당(1) (1) | 2023.12.04 |
[프로그래머스] H-Index (0) | 2023.11.17 |
[프로그래머스] K번째 수 (0) | 2023.11.17 |
[프로그래머스] 귤 고르기 (0) | 2023.11.16 |