<문제 설명>
프로그래머스 치킨은 치킨을 시켜먹으면 한 마리당 쿠폰을 한 장 발급합니다. 쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고, 서비스 치킨에도 쿠폰이 발급됩니다. 시켜먹은 치킨의 수 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
'개발 > 코딩테스트' 카테고리의 다른 글
[프로그래머스 | JavaScript] 겹치는 선분의 길이 (0) | 2023.04.14 |
---|---|
[프로그래머스 | JavaScript] 평행 (0) | 2023.04.13 |
[프로그래머스 | JavaScript] 저주의 숫자 3 (0) | 2023.04.12 |
[프로그래머스 | JavaScript] 공던지기 (0) | 2023.04.10 |
[프로그래머스 | JavaScript] 컨트롤제트 (0) | 2023.04.08 |