https://www.acmicpc.net/problem/1673
치킨 한 마리당 도장을 한 개 찍어주고, 도장을 여러 개(입력1) 모으면 치킨 쿠폰 한 장을 준다. 그 쿠폰으로 치킨 한 마리를 시켜 먹을 수 있다.
그렇다면 주어진 쿠폰(입력2)으로 몇 마리의 치킨을 시켜먹을 수 있는지 구하는 문제이다.
쿠폰으로 시켜먹은 치킨도 도장을 찍어준다는 점에 유의해야 한다.
반복이 얼마나 도는지 나와있지 않은 EOF문제이다. 처음에 EOFError 설정을 해주도록 한다.
coupon 변수는 가지고 있는 쿠폰의 개수(입력값)이자, 계속해서 받을 쿠폰의 개수를 누적시킬 변수이다. 즉, 치킨을 총 몇 마리 시킬 수 있는지를 의미하는 최종 출력값이라고 할 수 있다.
처음에 입력된 coupon으로 같은 수의 stamp를 찍을 수 있으므로, stamp=coupon으로 설정하고 반복문을 시작한다.
도장으로 더 이상 치킨을 시켜먹을 수 없을 때 반복문을 멈춘다. (k로 나눈 나머지가 0일 때)
stamp를 k로 나눈 몫은 coupon 변수에 누적시키고, stamp 변수에는 쿠폰으로 새롭게 시켜먹을 때 얻은 도장(stamp//k)과 도장을 쿠폰으로 바꾼 후 남은 도장의 개수(stamp%k)의 합을 저장한다.
while문이 종료되고, coupon (=치킨)의 개수를 출력한다.
'Koala - 7기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/파이썬] 11024 더하기 4 (0) | 2022.07.24 |
---|---|
[백준/python] 2947 나무조각 (0) | 2022.07.24 |
[백준 3449] 해밍거리 (0) | 2022.07.24 |
[백준/python] 2947 나무조각 (0) | 2022.07.24 |
[백준/C++] 1874 스택수열 (0) | 2022.07.23 |