Prg-Lv.0-치킨 쿠폰

이은지·2022년 12월 12일
0

코딩테스트

목록 보기
39/76

문제

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

입출력 예 설명

chicken = 100 / result = 11
chicken = 1081 / result = 120

풀이

function solution(chicken) {
  let coupon = chicken //치킨수 = 쿠폰수
  let service = 0

  //쿠폰이 10개 이상일 때 계속반복
  while(coupon >= 10) {
    //쿠폰을 10으로 나눈 몫 = 서비스 치킨 1개
    //나눈 몫이 0보다 작을때까지, 서비스에 1씩 더하기
    service += coupon/10 << 0

    // 쿠폰 = 남은 쿠폰 + 서비스 치킨 쿠폰
    coupon = coupon % 10 + coupon / 10 << 0
  }
  return service
}

쿠폰이 10개 이상이면 계속 반복해야 햇는데 그생각이 안났고 서비스 치킨은 계산이 잘되지만 남은쿠폰을 쌓아가지 못했다
제출한 풀이도 다른사람의 풀이를 참고해서 겨우 이해했다..

다른 사람의 풀이

function solution(chicken) {
    var answer = parseInt((chicken-1) / 9);
    return answer;
}

이 풀이는 아직도 이해를 못하겠다 흠..

0개의 댓글