์ ๋ ฅ
์ฒซ์งธ ์ค์ ์์ด A์ ํฌ๊ธฐ N (1 ≤ N ≤ 1,000)์ด ์ฃผ์ด์ง๋ค.
๋์งธ ์ค์๋ ์์ด A๋ฅผ ์ด๋ฃจ๊ณ ์๋ Ai๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ Ai ≤ 1,000)
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์์ด A์ ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์ ๊ธธ์ด๋ฅผ ์ถ๋ ฅํ๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ
a[i]๋ฅผ ์ ๋ ฅ๋ ์์ด, dp[i]๋ฅผ i๋ฒ์งธ๊น์ง ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์ ๊ธธ์ด๋ผ๊ณ ๊ฐ์ ํ๋ค.
์ฐ์ ๋ฐฐ์ด์ ํ์ํ ํ์๊ฐ ์๋ค.
๊ธฐ์ค ์์๋ฅผ ์ ํ๊ณ ๊ธฐ์ค ์์์ ์๋ถ๋ถ์ ํ์ํ๋ฉด์ ๊ธฐ์ค ์์๋ณด๋ค ์์ ์์์ ๊ฐ์๋ฅผ countํ๋ฉด ๋๋ค.
๋ฐ๋ณต๋ฌธ์ ๋๋ ค์ ์ด์ ๊ฐ์ด ํ์ฌ ๊ฐ๋ณด๋ค ์์ ๊ฒฝ์ฐ, (a[i-1] < a[i])
i๋ฒ์งธ๊น์ง ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์ ๊ธธ์ด๊ฐ ์ ์ฅ๋ dp๋ฅผ +1 ํด์ค๋ค. (dp[i] = max(dp[i], dp[i-1] + 1)
ํด๊ฒฐ ๊ณผ์
๋ฐ๋ณต๋ฌธ์ ํ์ํ๋๋ฐ ๊ธฐ์ค ์์๋ฅผ ์ ํ๊ณ ๋๋จธ์ง ์์๋ฅผ ํ์ํ๋ ๋ฐฉ์์ด๋ฏ๋ก 2์ค ๋ฐ๋ณต๋ฌธ์ ์จ์ผํ๋ค.
์ต์ข ์ฝ๋๋
'โ๏ธ ์ฝํ ์ค๋น > Dynamic Programming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋์ ๊ณํ๋ฒ 1] [C++] 2565๋ฒ. ์ ๊น์ค (0) | 2021.02.01 |
---|---|
[๋์ ๊ณํ๋ฒ 1] [C++] 11054๋ฒ. ๊ฐ์ฅ ๊ธด ๋ฐ์ดํ ๋ ๋ถ๋ถ ์์ด (0) | 2021.02.01 |
[๋์ ๊ณํ๋ฒ 1] [C++] 2156๋ฒ. ํฌ๋์ฃผ ์์ (0) | 2021.01.25 |
[๋์ ๊ณํ๋ฒ 1] [C++] 10844๋ฒ. ์ฌ์ด ๊ณ๋จ ์ (0) | 2021.01.24 |
[๋์ ๊ณํ๋ฒ 1] [C++] 1463๋ฒ. 1๋ก ๋ง๋ค๊ธฐ (0) | 2021.01.19 |