def solution(chicken):
    service = 0
    
    while chicken >= 10:                   # 쿠폰이 10장 이상일 때부터 조건 시작
        service += chicken // 10           # 서비스 시킬 때는 쿠폰 10장 필요
        chicken = chicken % 10 + chicken // 10   #10장 단위로 써서 %, 서비스에서도 쿠폰 발생
        
    return service


🤔 문제 풀이

  • 문제를 이해하는데 꽤나 시간이 걸렸던 문제였어요
  • service = 0
    • 일단 서비스로 받는 치킨 수를 구하는 게 목표이기 때문에 식별자 이름을 service로 변경해 주었어요
  • while chicken >= 10:
    • 쿠폰이 10장 이상부터 서비스가 발생하니까, 조건을 이렇게 해줄게요
    • service += chicken // 10
      • 서비스는 치킨을 시킨 수에 10을 나눈 몫만큼 발생하게 돼요
      • 잊지 말아야 하는 점은, 서비스를 시켰을 때에도 쿠폰이 생성돼요
    • chicken = chicken % 10 + chicken // 10
      • 치킨 마리당 쿠폰 1장이에요
      • chicken % 10
        • 서비스 치킨을 시켰을 때 10 단위로 소모가 되었고,
      • chicken = chicken % 10 
        • 서비스 치킨을 시키면 생성되는 쿠폰 수까지 더해줘요
    • 이렇게 하면 while문은 완성이 돼요
  • return service
    • 발생하는 쿠폰 수만큼 service에 더하도록 했기 때문에 return service 하면, 문제 해결!

 

저번에 풀었던 머쓱이네 피자 가게 문제와 비슷한 유형인 거 같더라구요

그래도 풀기 쉽지 않았던 문제였습니다 🥲

+ Recent posts