PS/프로그래머스 입문 100제
[프로그래머스] LV.0 치킨 쿠폰 - 자바 [85/100]
yaho!!
2024. 7. 2. 15:47
💬 문제 설명
프로그래머스 치킨은 치킨을 시켜먹으면 한 마리당 쿠폰을 한 장 발급합니다. 쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고, 서비스 치킨에도 쿠폰이 발급됩니다. 시켜먹은 치킨의 수 chicken이 매개변수로 주어질 때 받을 수 있는 최대 서비스 치킨의 수를 return하도록 solution 함수를 완성해주세요.
🚫 제한 사항
- chicken은 정수입니다.
0 ≤ chicken ≤ 1,000,000
📢 입출력 예
👨🏫 입출력 예 설명
📃 제출 코드
class Solution {
public int solution(int chicken) {
int answer = 0;
int coupon = chicken;
while (coupon >= 10) {
int serviceChicken = coupon / 10;
int remainingCoupons = coupon % 10;
answer += serviceChicken;
coupon = serviceChicken + remainingCoupons;
}
return answer;
}
}
✏ 해결방법 & 배운점
- 초기화:
- `answer`는 서비스 치킨의 총 개수를 저장합니다.
- `coupon`은 현재 가지고 있는 쿠폰의 수를 저장합니다. 처음에는 구매한 치킨 수와 같습니다.
- 쿠폰으로 새로운 치킨을 얻는 반복문:
- 쿠폰이 10개 이상일 때 반복합니다.
- `newChicken`은 쿠폰으로 얻는 새로운 치킨 수입니다.
- `remainingCoupons`는 쿠폰을 사용하고 남은 나머지 쿠폰 수입니다.
- 서비스 치킨 수를 `answer`에 더합니다.
- `coupon`을 새로운 치킨 수와 남은 쿠폰 수의 합으로 업데이트합니다.
- 결과 반환:
- 최종적으로 얻은 치킨의 수를 반환합니다.