https://www.acmicpc.net/problem/1673
문제분석
입력으로 주어지는 것: 현재 갖고있는 치킨쿠폰 개수, 치킨쿠폰 하나로 교환할 수 있는 도장의 개수(k)
출력: 최대로 먹을 수 있는 치킨의 개수
문제풀이
재귀함수를 이용해서 문제를 해결 하였다.
(현재 갖고있는 쿠폰 수, k, 현재 까지 먹은 치킨의 개수)를 입력받고
함수안에서는, 한 프로세스에서 새로 생기는 쿠폰을 포함한 현재 갖고있는 쿠폰 수를 계산하고,
지금 프로세스에서 먹은 치킨을 누적해서 함수를 다시 호출 하였다.
def calc(coupon, k, chicken):
if coupon < k:
chicken += coupon
return chicken
new_coupon = coupon //k + coupon % k
chicken += coupon // k * k
return calc(new_coupon, k, chicken)
while True:
try:
coupon, k = map(int, input().split())
chicken = 0
chicken = calc(coupon, k, chicken)
print(chicken)
except EOFError:
break
'Koala - 9기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[python/파이썬] 백준 baekjoon 2828 사과 담기 게임 (0) | 2023.01.23 |
---|---|
[백준/python] 1302 베스트셀러 (0) | 2023.01.22 |
[백준/C] 6502번 (0) | 2023.01.22 |
[백준/node.js] 1157번 단어공부 (0) | 2023.01.22 |
[백준/python] 14724 관리자는 누구? (0) | 2023.01.22 |