728x90
반응형
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
반응형
'Study > Algorithm & Data structure' 카테고리의 다른 글
[백준][DP] 11053번 가장 긴 증가하는 부분 수열 python (200922) (0) | 2020.09.22 |
---|---|
[백준][DP] 1463번 1로 만들기 python (200921) (0) | 2020.09.21 |
[프로그래머스][DP] N으로표현 python (200920) (0) | 2020.09.20 |
[백준][DP] 2193번 이친수 python (200919) (0) | 2020.09.19 |
[프로그래머스][DP] 정수삼각형 python (200917) (0) | 2020.09.17 |
댓글