개발/코딩테스트

[프로그래머스 | JavaScript] 치킨 쿠폰

prpn97 2023. 4. 11. 21:21

<문제 설명>

프로그래머스 치킨은 치킨을 시켜먹으면 한 마리당 쿠폰을 한 장 발급합니다. 쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고, 서비스 치킨에도 쿠폰이 발급됩니다. 시켜먹은 치킨의 수 chicken이 매개변수로 주어질 때 받을 수 있는 최대 서비스 치킨의 수를 return하도록 solution 함수를 완성해주세요.

 

<입출력 예>

chicken result
100 11
1,081 120

<문제 풀이>

function solution(chicken) {
    let coupon = 0;
    for(let i = 1; i <= chicken; i++){
        if(i % 1===0){
            coupon++
            if(coupon %10 === 0){
                coupon++
            }
        }
    }
    return Math.floor(coupon/10);
}

반복문으로 치킨 1마리 주문할 때마다 쿠폰을 하나씩 적립했다. 

그리고 쿠폰이 10개가 될 때마다 쿠폰을 1개 더 적립했다.

(쿠폰 10개에 치킨 1마리, 구해야 하는 것은 서비스 받은 치킨이므로)

그리고 결과값은 쿠폰 10개로 치킨 1마리를 교환할 수 있으나

쿠폰이 10개가 안될 경우 교환할 수 없어 결과값에서 내림처리를 해주었다.

 

<코멘트>

예제가 친숙하니 문제를 푸는데 걸림이 없었다. 

다른 문제를 풀 때도 조금 더 쉽게 접근하도록 시야를 넓게 갖고

여러 알고리즘을 공부해서 방법론적으로 접근해야겠다. 

728x90