[Python] 백준 2839 - 설탕배달

혜원·2022년 10월 16일
0

백준

목록 보기
9/25

백준 2839-설탕배달

문제

코드

import sys
input= sys.stdin.readline

N = int(input())
div5=N//5
sum=0
i=0

for i in range(div5, -1, -1):
    r=N-i*5
    if r%3==0:
        print(i+r//3)
        break

if(i==0 and N%3 != 0):
    print(-1)

해설

가장 적은 자루에 담기 위해서는 5kg 자루가 최대한 많아야한다.
따라서 N을 5로 나눠서 5kg 자루를 최대한으로 만들었고,
나머지를 3으로 나눌 수 있는지 판단했다.
나머지를 3으로 나눌 수 없다면 5kg자루 하나를 줄이고 그 나머지를 다시 3으로 나누어 나머지가 0인지 판단하는 작업을 for문을 이용해 반복했다.

Nkg을 자루에 나눠 담을 수 없는 경우에는 i==0 and N%3 != 0 를 이용해서 -1을 출력해주었다.

profile
안녕하세요

0개의 댓글