FireDrago
Lv0 - 치킨쿠폰 본문
문제 설명
프로그래머스 치킨은 치킨을 시켜먹으면 한 마리당 쿠폰을 한 장 발급합니다. 쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고, 서비스 치킨에도 쿠폰이 발급됩니다. 시켜먹은 치킨의 수 chicken이 매개변수로 주어질 때 받을 수 있는 최대 서비스 치킨의 수를 return하도록 solution 함수를 완성해주세요.
입출력 예
| chicken | result |
| 100 | 11 |
| 1,081 | 120 |
생각정리
1. 주어진 치킨에서 10 나눈 값 + 그 나눈값에서 다시 10 나눈 값 ... 이렇게 10보다 작아질때까지 반복된다.
2. 문제는 int 가 정수 10으로 나누어지는 과정에서 버려지는 나머지들의 합이 10을 넘기면 결과값이 1커진다는 점이다.
나머지들을 구한뒤에 다시 전체값에 넣어주면 다음 반복문때 버려지지 않는다.
class Solution {
public int solution(int chicken) {
int answer = 0;
while (chicken >= 10) {
int service_chicken = chicken/10;
int remain_chicken = chicken%10; //나머지
answer += service_chicken; // 쿠폰으로 얻는 치킨
chicken = service_chicken + remain_chicken; // 나머지랑 서비스 치킨 다시 더해줌
}
return answer;
}
}'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| [SQL] 업그레이드 할 수 없는 아이템 구하기 (0) | 2024.08.26 |
|---|---|
| [SQL] 즐겨찾기가 가장 많은 식당 정보 출력 (0) | 2024.08.21 |
| Lv0 - 캐릭터의 좌표 (자바) (0) | 2023.06.22 |
| Lv0 - 직사각형 넓이 구하기 (0) | 2023.06.18 |
| Lv0 - OX 퀴즈 (0) | 2023.06.17 |
