프로그래머스 치킨은 치킨을 시켜먹으면 한 마리당 쿠폰을 한 장 발급합니다. 쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고, 서비스 치킨에도 쿠폰이 발급됩니다. 시켜먹은 치킨의 수 chicken
이 매개변수로 주어질 때 받을 수 있는 최대 서비스 치킨의 수를 return하도록 solution 함수를 완성해주세요.
chicken
은 정수입니다.chicken
≤ 1,000,000chicken | result |
---|---|
100 | 11 |
1,081 | 120 |
입출력 예 #1
입출력 예 #2
💡 문제풀이 과정
chicken
100마리를 먹은 경우100마리 / 10 = 10마리 서비스
⇒서비스로 받은 10마리 / 10 = 1마리 서비스
이므로 총 서비스로 받은 치킨의 수는11마리
이다.- 따라서
while()
문을 사용하여 매개변수로 주어진chicken
의 수가 1마리가 될 때까지 10으로 계속 나누어 준다. 그리고 10으로 나눌 때 마다 받는 서비스 치킨의 수는answer
에 더해나간다. 마지막으로, 값이 소수점까지 나오는 경우가 있으므로 소수점 이하는 버리고 반환한다.
✅ 답안
function solution(chicken) {
let answer = 0;
while (chicken > 1) {
chicken /= 10;
answer += chicken;
}
return ~~answer;
// return Math.floor(answer);
}