https://programmers.co.kr/learn/courses/30/lessons/42897
def solution(money):
# dp[i] = max(dp[i-1], dp[i-2]+money[i]) 점화식
dp = [0]*len(money)
#첫번째 집을 터는 경우
dp[0]=money[0]
dp[1]=money[0]
for i in range(2,len(money)-1): #마지막 집은 털면 안됨
dp[i] = max(dp[i-1], dp[i-2]+money[i])
firstmoney = max(dp)
#첫번째 집을 안터는 경우
dp = [0]*len(money)
dp[1]=money[1]
for i in range(2,len(money)): #마지막 집 털기 가능
dp[i] = max(dp[i-1], dp[i-2]+money[i])
return max(firstmoney,max(dp))
'Programming > Programmers' 카테고리의 다른 글
[프로그래머스] 디스크 컨트롤러(Python) (0) | 2021.08.12 |
---|---|
[프로그래머스] N으로 표현(Python) (0) | 2021.08.12 |
[프로그래머스] 입국심사(Python) (0) | 2021.08.12 |
[프로그래머스] 징검다리(Python) (0) | 2021.08.12 |
[프로그래머스] 다단계 칫솔 판매(Python) (0) | 2021.08.10 |
댓글