Algorithm/Problems

99클럽 코테 스터디 14일차 TIL + 그리디

공부좀하시졍 2024. 11. 11. 00:22

https://www.acmicpc.net/problem/14916

import sys
input = sys.stdin.readline

n = int(input())
answer = 0

while n > 0:
    if n % 5 == 0:
        answer += n // 5
        break
    n -= 2
    answer += 1

if n < 0:
    print(-1)
else:
    print(answer)
  • 직전에 풀었던 백준 27961번 문제와 비슷하다.
  • 이 문제는 n이 5로 나누어 떨어질 때까지 2원짜리 거스름돈을 준다.
    • 처음에 if문에 break문을 걸지 않아 while이 끝나지 않았다.
    • if문에 걸렸을 땐 answer만 증가시켜주고 n의 값은 변하지 않기 때문에 break문을 걸어 반복문을 끝내준다.