๋ฌธ์ |
๋ฌธ์
์์ด A๊ฐ ์ฃผ์ด์ก์ ๋, ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์๋ฅผ ๋ค์ด, ์์ด A = {10, 20, 10, 30, 20, 50} ์ธ ๊ฒฝ์ฐ์ ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์ A = {10, 20, 10, 30, 20, 50} ์ด๊ณ , ๊ธธ์ด๋ 4์ด๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์์ด A์ ํฌ๊ธฐ N (1 โค N โค 1,000)์ด ์ฃผ์ด์ง๋ค.
๋์งธ ์ค์๋ ์์ด A๋ฅผ ์ด๋ฃจ๊ณ ์๋ Ai๊ฐ ์ฃผ์ด์ง๋ค. (1 โค Ai โค 1,000)
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์์ด A์ ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์ ๊ธธ์ด๋ฅผ ์ถ๋ ฅํ๋ค.
ํ์ด๊ณผ์ |
1.๊ท์น
- DP์ด๋ฏ๋ก ์ ํ์๊ณผ ๋ฉ๋ชจ์ด์ ์ด์ ์ ์ด์ฉํฉ๋๋ค.
- d[n-1] < d[n] ์ด๋ผ๋ฉด d[n]์ ๊ฐ์ ์ฆ๊ฐ์ํต๋๋ค.
2.์์
๋ฉ๋ชจ์ด์ ์ด์ ์ ํ์๋ฅผ ์ ์ฅํ๋ ์ ํ์์ ์๊ฐํด ๋ด ๋๋ค.
์ฒซ์งธ๋ก, A[n-1] < A[n] ์ผ ๊ฒฝ์ฐ ๋จ์ํ d[n] = d[n-1]+1 ์ ํด์ฃผ๋ ๊ฒ์ ์ ๋ต์ด ๋ ์ ์์ต๋๋ค.
A=[10,20,10,30,20,50] ์ผ ๊ฒฝ์ฐ,
(๋ฉ๋ชจ์ด์ ์ด์ ๋ฐฐ์ด์ ์ ๋ถ 1๋ก ์ด๊ธฐํ)
๊ฒฐ๊ตญ A[n-1] < A[n] ์ผ ๊ฒฝ์ฐ, d[n]๋ d[n]๊ณผ d[n-1]+1 ์ค์ ํฐ๊ฐ์ ๋ฉ๋ชจ์ด์ ์ด์
๋ฐฐ์ด์ ์ ์ฅํด ๋๊ฐ์ผ ํฉ๋๋ค.
์ด๋ฅผ ๊ทธ๋ฆผ์ผ๋ก ๋ณด๋ฉด,
๊ฐ ๋๋ฏ๋ก ์ ํ์์ d[n] = max(d[n], d[n-1]+1) ์
๋๋ค.
3.์ฝ๋
'๐ค PS(Problem Solving) > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 11722๋ฒ - ๊ฐ์ฅ ๊ธด ๊ฐ์ํ๋ ๋ถ๋ถ ์์ด (0) | 2019.07.11 |
---|---|
[๋ฐฑ์ค] 11055๋ฒ - ๊ฐ์ฅ ํฐ ์ฆ๊ฐ ๋ถ๋ถ ์์ด(์์ ) (0) | 2019.07.11 |
[๋ฐฑ์ค] 2156๋ฒ - ํฌ๋์ฃผ ์์ (0) | 2019.07.09 |
[๋ฐฑ์ค] 9456๋ฒ - ์คํฐ์ปค (0) | 2019.07.08 |
[๋ฐฑ์ค] 2193๋ฒ - ์ด์น์ (0) | 2019.07.07 |