LeetCode 309 - Best Time to Buy and Sell Stock with Cooldown (Medium)
๋ฌธ์ LeetCode - 309๋ฒ ํ์ด ๊ณผ์ ํน์ ๋ ์ ์ฃผ์์ ๋งค๋ ํน์ ๋งค์ํ์ฌ ์ป์ ์ ์๋ ์ต๋ ์ด์ค์ ๊ณ์ฐํ๋ ๋์ ๊ณํ๋ฒ ๋ฌธ์ ์
๋๋ค. ๋ฌธ์ ์กฐ๊ฑด์์ ์ฃผ์์ ๊ตฌ๋งค ์ ์๋ ํ๋งค๋ฅผ ๋จผ์ ํด์ผํ๋ค๋ ๊ฒ์ด ๋ช
์๋์ด ์๋ค๋ ์ ์ ์ ์ํฉ๋๋ค. ๋ง์ฝ dp(i, buy) = i ๋ฒ์งธ ๋ ์ฃผ์์ ํ๋งค ์ํ๊ฐ buy ์ผ ๋ i ์ดํ ์ป์ ์ ์๋ ์ต๋ ์ด์ค ์ด๋ผ๊ณ ์ ์ํ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ ํ์์ ์ป์ ์ ์์ต๋๋ค. dp(i, buy) = max(dp(i+1, true) - stock[i], dp(i+1, false)), if buy == false else(buy == true), dp(i, buy) = max(dp(i+2, false) + stock[i], dp(i+1, true)) ์ฆ, `i` ๋ฒ์งธ ๋ ์ฃผ์์ ..
2021. 3. 4.