오늘의 문제는 간단한 듯 보이지만 조건문에 꽤 신경을 써줘야했던 문제였다.
나는 소인수분해처럼 5와 3에 숫자를 일일이 곱해 비교하는 방식으로 중첩 for문을 사용했는데, 더 효율적인 방법이 있을 것이라 생각한다.
현재는 너무 추워서 이불속에서 좌식으로 푸느라 허리가 너무 아프므로..얼른 끝내보도록 하겠다.
더 좋은 방법이 있으면 내일 찾아서 올리겠음..
import math
bag = int(input())
result = -1
for i in range(math.ceil(bag/3)+1):
for j in range(math.ceil(bag/5)+1):
if bag==(5*j)+(3*i) and (result > i+j or result==-1) :
result = i+j
break
if result != -1:
break
print(result)
주어지는 숫자에 따라
로 나눌 수 있는데
하나하나 if 문으로 걸러주기엔 복잡해질 것 같아
5j + 3i를 계산하는 방식을 이용했다.
중첩 for문을 나갈때는 한방에 나가는 방법은 없고,
안쪽에서 break를 써준 후, 안쪽 for문을 나갔을 경우 조건문으로 break를 한번 더 걸어주는 방식을 사용해야한다는 것을 배웠다.