프로그래머스 치킨은 치킨을 시켜먹으면 한 마리당 쿠폰을 한 장 발급합니다. 쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고, 서비스 치킨에도 쿠폰이 발급됩니다. 시켜먹은 치킨의 수 chicken이 매개변수로 주어질 때 받을 수 있는 최대 서비스 치킨의 수를 return하도록 solution 함수를 완성해주세요.
chicken은 정수입니다.chicken ≤ 1,000,000| chicken | result |
|---|---|
| 100 | 11 |
| 1,081 | 120 |
입출력 예 #1
입출력 예 #2
💡 문제풀이 과정
chicken100마리를 먹은 경우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);
}