본문 바로가기
Study/Algorithm & Data structure

[백준][DP] 2839번 설탕 배달 python (200920)

by 후이 (hui) 2020. 9. 20.
728x90
반응형

 

www.acmicpc.net/problem/2839

 

2839번: 설탕 배달

상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그��

www.acmicpc.net

1. 문제설명 

 

사실 이게 왜 DP 문제인 지 모르겠다. 

풀이 예제들을 찾아봐도 DP 가 아니라 다 저마다의 룰로 푼 느낌이랄까?

 

 

 

2. 풀이 

def solution(sugar):
    num = 0
    while sugar >0 :

        if sugar % 5 !=0:
            sugar -= 3
            if sugar < 0:
                return -1
            num += 1 # 3개짜리 추가됨

        elif sugar % 5 ==0:
            sugar -= 5
            num += 1  # 5개짜리 추가됨

        elif sugar % 5 !=0 and sugar % 3 !=0:
            return -1

    return num

input_num = int(input())
print(solution(input_num))

 

1) 5로 나누어 떨어지지 않으면 3을 뺀다  -> 묶음 +=1  (3묶음생성)

2) 5로 나누어 떨어지면 5를 뺀다 -> 묶음 +=1 (5묶음생성)

3) 만약 둘다 나누어 떨어지지 않는다면 -> -1 반환 

 

 

3. 정리 

왜이게 DP유형인지 잘 모르겠다.

다른 사람들의 풀이를 봐도 다 저렇게 케이스를 나눠서 접근하는식으로 문제를 푸는데... ! 

 

 

728x90
반응형

댓글