Programming

[알고리즘] 프로그래머스 콜라 문제

jay-dev 2023. 6. 29. 00:08

프로그래머스 문제 링크

My Solution / Try

  • while 반복문, n이 a보다 작은 순간 종료
  • n은 a만큼 줄고 b만큼 더해짐을 반복
  • 받을 수 있는 콜라 sum은 b만큼 더해짐을 반복
function solution(a, b, n) {
    let sum = 0
    while (n >= a) {
        n = n - a + b        
        sum = sum + b
    }
    return sum;
}

Advanced Solution

  • 재귀를 이용한 풀이
  • n이 a보다 작다면 0 출력 => 재귀 탈출문
  • 콜라병의 합계는 n을 a로나눈 몫에 b를 곱함
  • solution 함수는 다시 a와 b 그리고 n을 a로 나눈 나머지와 합계를 더한 것으로 재귀(n이 a보다 작아질 때까지)
function solution(a, b, n) {
    if (n < a) {
        return 0;
    } else {
        let sum = Math.floor(n/a)*b    
    return sum + solution(a,b, n % a + sum)
 }
}
 
 
 

'Programming' 카테고리의 다른 글

[TypeScript] Generics, 노마드코더 타입스크립트 챌린지  (0) 2023.06.30
[알고리즘] 프로그래머스 삼총사  (0) 2023.06.30
Code Convention (Style Guide)  (0) 2023.06.27
[React] Virtual DOM  (0) 2023.06.26
[WIL] week2 회고  (0) 2023.06.26