[백준] 14916 - 거스름돈 (python 파이썬)

강민수·2022년 12월 9일

Algorithm-BACKJOON

목록 보기
8/55
post-thumbnail
  1. 동전은 2원짜리와 5원짜리밖에 없고 두 동전으로만 거스름돈을 줘야한다.
  2. 최소한으로 주기 위해서는 5원짜리로 먼저 한번씩 나눠본다.
  3. 만약 나누어 떨어진다면 5로 나눈 몫이 답이 된다.
  4. 나누어 떨어지지 않는다면 2원짜리로 n을 빼주면서 5원짜리로 나누어질때까지 반복한다.

문제링크


n = int(input())

cnt = 0
i = 0
while True:
    if n % 5 == 0:  # 5의배수이면 or 2로만 거슬러주고 n이 0이된경우
        cnt += n // 5  # 5로나눈 몫이 정답
        break
    else:
        n -= 2  # 5의배수가 아니면 2백원씩 뺴면서 5로 나누어떨어지는것이 나오도록
        cnt += 1

    if n < 0:  # 2백원씩 뺏더니 음수가 되버린경우 --> 거슬러줄수 없을을 의미함
        break
if n < 0:  # 음수면 거슬러줄수없
    print(-1)
else:
    print(cnt)
profile
능동적으로 개발 지식을 찾아다니는 백엔드 개발자입니다 😊 작성된 글에 대한 질문들 및 피드백은 언제나 환영입니다 :) 👌

0개의 댓글