본문 바로가기
프로그래밍/Baekjoon

(파이썬) 백준 알고리즘 2839번 설탕 배달

by J_Remind 2019. 1. 23.

문제

풀이 (Python)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
= int(input())
# 초기화
five = 0
three = 0
 
# 최대 5kg의 갯수와 나머지를 구한다.
five = n//5
= n%5
 
# 나머지가 0이 아니면 3kg 갯수를 구한다.
if b !=0:
    while five >= 0:
        if b%3 == 0:
            three = b//3
            break
        five -= 1
        b += 5
            
ret=five + three
 
if ret < 1:
    ret = -1
print(ret)
cs
3 ~ 4 : 초기화

7 ~ 8 : 최대 5kg의 갯수와 나머지를 구한다.

11 : 나머지가 있는지 없는지 확인한다.

12 ~ 17 : 나머지가 3으로 정확하게 나누어질때 까지 몫(five)을 줄이고 나머지를 늘려(b+=5) 계산한다.

21 ~ 22 : 5kg와 3kg 갯수가 하나도 없으면 -1 

문제 출처