치킨 쿠폰

Haizel·2023년 4월 19일
1

🧬 알고리즘 풀이

목록 보기
16/53
post-thumbnail

문제 설명

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

입출력 예

chickenresult
10011
1,081120

내 풀이

function solution(chicken) {
    let coupon = chicken;
    let serviceChicken = 0;
    while (coupon >= 10) {
        serviceChicken += parseInt(coupon / 10);
        coupon = (coupon % 10) + parseInt(coupon / 10);
    }
    return serviceChicken;
}

💡 코드풀이

  1. 쿠폰은 치킨 수만큼 주어진다.
  2. 쿠폰이 10개 이상이면
    • 쿠폰/10의 몫만큼 서비스 치킨 추가
    • 그럼 쿠폰은 = 서비스 치킨을 시키고 남은 쿠폰(coupon%10) + 서비스로 주문한 치킨에 대한 추가 쿠폰(coupon / 10) 개가 된다.
    • 만약 위 쿠폰수가 10개 넘는다면 → while문 안에서 다시 반복된다.

🧐 Math.floor === ParseInt === << 0 ?


let= 100;/7; // 14.285714285714286

/* Math.floor */
Math.floor(/7); // 14

/* parseInt */
parseInt(/7) //14

/* 비트 연산자 - 왼쪽 쉬프트 연산자 << *//7 << 0 ; //14
profile
한입 크기로 베어먹는 개발지식 🍰

0개의 댓글