
https://programmers.co.kr/learn/courses/30/lessons/42897
코딩테스트 연습 - 도둑질
도둑이 어느 마을을 털 계획을 하고 있습니다. 이 마을의 모든 집들은 아래 그림과 같이 동그랗게 배치되어 있습니다. 각 집들은 서로 인접한 집들과 방범장치가 연결되어 있기 때문에 인접한
programmers.co.kr
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 |
댓글