Algorithm
백준
Python
설탈 배달

백준 2839 설탕배달

https://www.acmicpc.net/problem/2839 (opens in a new tab)

풀이

import sys
 
input = sys.stdin.readline
a = int(input())
 
x = a // 5
ans = -1
 
if a == 0 :
  ans = 0
if x * 5 != a :
  while x * 5 != a :
    rest = a - (x * 5)
    if rest % 3 == 0 :
      ans = x + (rest // 3)
      break
    x -= 1
    if x < 0 :
      break
else :
  ans = a // 5
 
print(ans)

내가 범한 오류

첫 풀이는 다음과 같았다.
문제를 처음 풀 때 5와 나누어 떨어지는 경우를 고려를 안한 것이 문제가 되어서 약 10분가량 허비했다. 이게 만약 실제 코테 상황이었으면 어땟을지 좀 아찔하다.

import sys
 
input = sys.stdin.readline
a = int(input())
 
x = a // 5
ans = -1
 
if a == 0 :
  ans = 0
while x * 5 != a :
  rest = a - (x * 5)
  if rest % 3 == 0 :
    ans = x + (rest // 3)
    break
  x -= 1
  if x < 0 :
    break
 
print(ans)