14916 - 거스름돈

Giho Kim·2023년 9월 30일

코테 연습

목록 보기
16/26

오늘 처음으로 그리디 알고리즘을 풀어봤는데 아 생각보다 쉽지 않았다.

결국 답보고 풀었다.

  1. 먼저 5로 N이 나눠지는지 확인 --> 나눠진다면 N // 5를 카운드에 더해주고 break
  2. 안나눠진다면 N에서 2씩 빼준다 --> 2를 카운트에 더해줌
  3. 만약 N이 음수가 된다면 거슬러줄수 없는 돈이므로 -1을 print
N = int(input())

five_count = 0
two_count = 0

while N >= 0:

    if N % 5 == 0:
        five_count = N // 5
        break
    
    else:
        N -= 2
        two_count += 1

if N < 0:
    print(-1)
else:
    print(five_count + two_count)
profile
취준돌이 개발자 김기호

0개의 댓글