문제

 

내가 작성한 코드 (틀림)
def make_sugar(n, sugar_l):
    cnt = 0
    while sugar_l:
        sugar = sugar_l.pop()
        if n // sugar == 0:
            continue
        else:
            if (n%sugar < 3):
                if (n // sugar) -1 == 0:
                    continue
                else:
                    n -= (sugar * ((n//sugar)-1))
                    if sugar == 8:
                        cnt += ((n // sugar) -1) * 2
                    else:
                        cnt += ((n // sugar) -1)
            if n%sugar == 0:
                cnt += n // sugar
                return(cnt)
            
    return -1
# 배달해야할 N킬로그램 설탕 입력
n = int(input())
sugar_l = [3, 5, 8]

print(make_sugar(n, sugar_l))

> 하... 이건 맞췄어야 됐는디... 왜 안풀리지...

 

참고한 코드
sugar = int(input())

bag = 0
while sugar >= 0 :
    if sugar % 5 == 0 :  # 5의 배수이면
        bag += (sugar // 5)  # 5로 나눈 몫을 구해야 정수가 됨
        print(bag)
        break
    sugar -= 3  
    bag += 1  # 5의 배수가 될 때까지 설탕-3, 봉지+1
else :
    print(-1)

> 참고한 블로그

https://ooyoung.tistory.com/81

 

백준 알고리즘 2839 [파이썬] : 설탕 배달

[Python] 백준 알고리즘 온라인 저지 2839번 : 설탕 배달 Python3 코드 sugar = int(input()) bag = 0 while sugar >= 0 : if sugar % 5 == 0 : # 5의 배수이면 bag += (sugar // 5) # 5로 나눈 몫을 구해야..

ooyoung.tistory.com

> 정말 대박... 어떻게 이렇게...

> 처음으로 while문 아래다가 else: 문을 적용해도 되는지 알았다!! 많이 배웠습니다!!

+ Recent posts