Archives
Recent Posts
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Today
Total
관리 메뉴

안드로이드 개발자의 창고

[프로그래머스] 치킨 쿠폰(Lv.0) - 코틀린 본문

코딩테스트

[프로그래머스] 치킨 쿠폰(Lv.0) - 코틀린

Wise-99 2023. 5. 14. 16:19
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

❓ 문제 설명

프로그래머스 치킨은 치킨을 시켜먹으면 한 마리당 쿠폰을 한 장 발급합니다. 쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고, 서비스 치킨에도 쿠폰이 발급됩니다. 시켜먹은 치킨의 수 chicken이 매개변수로 주어질 때 받을 수 있는 최대 서비스 치킨의 수를 return하도록 solution 함수를 완성해주세요.

 

❓ 제한 사항

  • chicken은 정수입니다.
  • 0 ≤ chicken ≤ 1,000,000

 

✔️ 정답 코드

class Solution {
    fun solution(chicken: Int): Int {
        var answer: Int = 0
        var coupon = chicken 					// 첫 쿠폰 갯수 == 치킨의 수
        
        while(coupon >= 10){ 					// 쿠폰이 10 이상일 때만 반복
            answer += coupon / 10 				// 서비스 치킨 수 = 쿠폰 / 10
            coupon = coupon / 10 + coupon % 10 	// 쿠폰 수 = 서비스 치킨 수 + 10 미만의 쿠폰 수
        }
        
        return answer
    }
}

 

 

✔️ 코드 설명

  • chicken을 coupon으로 받는다. 처음 시켰을 때 쿠폰의 수는 치킨의 수와 같다.
  • 남은 쿠폰이 10장 미만이 되어 서비스를 받지 못할 때까지 반복한다.
  • 서비스 받은 치킨 수는 coupon / 10 과 같다.
  • 남은 쿠폰의 수 = 서비스 치킨의 쿠폰 + 10장이 되지 않아 서비스를 받지 않은 쿠폰의 수 이다.