728x90
📚문제
📝풀이
# 1673번 치킨 쿠폰
while True:
try:
n,k = map(int,input().split())
chicken = n
stamp = n
service = 0
while stamp // k > 0:
service += stamp // k
stamp = (stamp // k) + (stamp % k)
print(chicken + service)
except EOFError:
break
전에 비슷한 문제를 푼 기억이 있어서
블로그 글을 검색해보니
프로그래머스 - 코딩테스트 입문에서 한번 비슷한 문제를 풀었었다
물론 디테일한 조건들은 조금씩 다르기 때문에
새로 다시 풀었다
프로그래머스에서 풀었을 때는 꽤 어려웠던 것 같은데
이번에는 천천히 손으로 대입해보고 풀어본 것을 코딩으로 구현해보니
많이 어렵진 않았다
(초반에 조금 복잡하게 코드를 짜서 시간초과에 몇번 걸리긴 했다...)
그리고 주의해야 할 것은
주로 마지막 예제(100 , 5)를 가지고 풀었는데
이 경우에는
치킨쿠폰(100)이 치킨 쿠폰 한장으로 바꿔주는 도장 개수(5)로 딱 나눠떨어진다
stamp = (stamp // k) + (stamp % k)
그러다보니 이 코드에서
저 뒤에 (stamp % k)를 붙여주는 것을 생각못했다
이걸 깨닫고 코드를 변경한 덕분에 풀이 완료했다
728x90
'Python(알고리즘,문제풀이) > BOJ(Bronze II)' 카테고리의 다른 글
백준 / 1212번 / 8진수 2진수 / Python / 수학,구현,문자열 (0) | 2024.01.16 |
---|---|
백준 / 1718번 / 암호 / Python / 구현,문자열 (0) | 2024.01.11 |
백준 / 1668번 / 트로피 진열 / Python / 구 (0) | 2024.01.08 |
백준 / 1592번 / 영식이와 친구들 / Python / 구현,시뮬레이션 (0) | 2024.01.08 |
백준 / 1440번 / 타임머신 / Python / 브루트포스 알고리즘 (0) | 2024.01.07 |