여기 테스트케이스엔 없는데
chicken이 1999 일 때 result가 222래
근데
1999마리 = 쿠폰 1999장 = 서비스 199마리 + 잔여 쿠폰 +9장
서비스 199마리 = 쿠폰 199장 = 서비스 19마리 + 잔여 쿠폰 +9장
서비스 19마리 = 쿠폰 19장 = 서비스 1마리 + 잔여 쿠폰 +9장
서비스 1마리 = 쿠폰 1장 = 서비스 0마리 + 잔여쿠폰 +1장
해서 서비스 총 199 + 19 + 1 해서 219마리
잔여쿠폰 28장은 서비스 2마리니까 221마리
이거 아님??
어떻게 222마리가 되는것임??????????????????
내가 짠 로직에서도 result가 221인데 대체 왜 222가 됨?? 뭐 빼먹은거임?? 누가 알려줘 ㅠㅜㅠㅜㅠㅜ
222 나오는데?
초기1999마리 -> 쿠폰1999장 (쿠폰1990장 감소) 서비스199마리 -> 남은9장+서비스199장 = 총208장 (쿠폰200장 감소) 서비스20마리 -> 남은8장+서비스20장 = 총28장 (쿠폰20장감소) 서비스2마리 -> 남은8장+서비스2장 = 총10장 (쿠폰10장감소) 서비스1마리 => 서비스 치킨 199+20+2+1 = 222마리가 답
아 쿠폰이랑 마리수를 분리해서 계산하면 안되는구나 난 맨 나중에 모은쿠폰 한번에 계산하게 시킨게 답이 달라진거였네..
private static int GetBonusChicken(int coupon) { int remainCoupon = coupon % 10; int chicken = (coupon - remainCoupon) / 10; coupon = chicken + remainCoupon; if (coupon >= 10) { chicken += GetBonusChicken(coupon); } return chicken; }
ㄳㄳ 너무 복잡하게 짰다 다시짜봄
재귀로 짜면 됨