DevYoon
[ํ๋ก๊ทธ๋๋จธ์ค] ๋๋์ง (Python) ๋ณธ๋ฌธ
link ๐ https://programmers.co.kr/learn/courses/30/lessons/42897
def solution(money):
dp1 = [0]*len(money)
# ์ฒซ๋ฒ์งธ ์ง ํธ๊ธฐ
dp1[0] = money[0]
dp1[1] = money[0]
for idx in range(2, len(money)-1):
dp1[idx] = max(dp1[idx-1], dp1[idx-2]+money[idx])
# ๋ง์ง๋ง ์ง ํธ๊ธฐ
dp2 = [0]*len(money)
dp2[1] = money[1]
for idx in range(2, len(money)):
dp2[idx] = max(dp2[idx-1], dp2[idx-2]+money[idx])
answer = max(max(dp1), max(dp2))
return answer
โ๏ธ ๋ฉ๋ชจ
- ์ธ๋ฑ์ค 0๊ณผ ์ธ๋ฑ์ค -1์ ์ํ์ผ๋ก ๋์ ๋ ์๋ก ์ธ์
- ์ฒซ๋ฒ์งธ ์ง์ ๋ฌด์กฐ๊ฑด ํฐ๋ ๊ฒฝ์ฐ์ ๋ง์ง๋ง ์ง์ ๋ฌด์กฐ๊ฑด ํฐ๋ ๊ฒฝ์ฐ๋ฅผ ๋ฐ๋ก ์๊ฐํ๋ค.