ํฐ์คํ ๋ฆฌ ๋ทฐ
๐จ๐ป ์ฝ๋ฉํ
์คํธ/๋ฐฑ์ค
๋ฐฑ์ค: 11053 ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด
dirmathfl 2020. 6. 30. 22:43728x90
๋ฐ์ํ
๋ฌธ์
๋ฌธ์ ํ์ด
์์์ ์์ด 10 20 10 30 20 50์ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์ ์ฐพ์ ์ ์๋ค. ์์ ์์ด์์ ์์ ์๊ฐ ์๋์ง ์นด์ดํธํ์ฌ, ๊ฐ ๊ฐ์ ๋ฐ๋ผ ์ฆ๊ฐํ๋ ๋ถ๋ถ์์ด์ ๊ธธ์ด๋ฅผ ์ฐพ์ ์ ์๋ค.
20 ๋ณด๋ค ์์ ์๊ฐ ์๋๊ฐ?
์์ด | 10 | 20 | 10 | 30 | 20 | 50 |
์นด์ดํธ | 1 | 2 | 1 | 1 | 1 | 1 |
- 10์ 20 ๋ณด๋ค ์์ผ๋ฏ๋ก 10์ ์นด์ดํธ ๊ฐ์์ + 1ํ ๊ฐ์ 20์ ์นด์ดํธ๋ก ๋ณ๊ฒฝ
10 ๋ณด๋ค ์์ ์๊ฐ ์๋๊ฐ?
์์ด | 10 | 20 | 10 | 30 | 20 | 50 |
์นด์ดํธ | 1 | 2 | 1 | 1 | 1 | 1 |
- 10๋ณด๋ค ์์ ์๊ฐ ์์ผ๋ฏ๋ก ๋ณ๊ฒฝํ์ง ์์
30 ๋ณด๋ค ์์ ์๊ฐ ์๋๊ฐ?
์์ด | 10 | 20 | 10 | 30 | 20 | 50 |
์นด์ดํธ | 1 | 2 | 1 | 3 | 1 | 1 |
- ์์ ์ ์ค, ์นด์ดํธ๊ฐ ๊ฐ์ฅ ํฐ ๊ฐ์ + 1ํ ๊ฐ์ 30์ ์นด์ดํธ๋ก ๋ณ๊ฒฝ
20 ๋ณด๋ค ์์ ์๊ฐ ์๋๊ฐ?
์์ด | 10 | 20 | 10 | 30 | 20 | 50 |
์นด์ดํธ | 1 | 2 | 1 | 3 | 2 | 1 |
- ์ฒซ๋ฒ์งธ์ ๋ง์ฐฌ๊ฐ์ง๋ก 10 ๋ฐ์ ์์ผ๋ฏ๋ก 2๋ก ์นด์ดํธ๋ฅผ ๋ณ๊ฒฝํจ
50 ๋ณด๋ค ์์ ์๊ฐ ์๋๊ฐ?
์์ด | 10 | 20 | 10 | 30 | 20 | 50 |
์นด์ดํธ | 1 | 2 | 1 | 3 | 2 | 4 |
- ์์ ์ ์ค 30์ ์นด์ดํธ๊ฐ ๊ฐ์ฅ ํฌ๋ฏ๋ก ํด๋น ์นด์ดํธ ๊ฐ + 1์ 50์ ์นด์ดํธ๋ก ๋ณ๊ฒฝํจ
์ฌ๊ธฐ์ ๊ณ์ฐ๋ ์นด์ดํธ๋ ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์ ๊ธธ์ด๊ฐ ๋๋ค. ๋ํ ์์ด์ ์ฒซ๋ฒ์งธ ๊ฐ์ ์๊ธฐ์์ ์ ์ ์ธํ๊ณ ๋น๊ต ๋์์ด ์๊ณ , ๋ชจ๋ ์์ด์ ์๊ธฐ ์์ ์ ๊ฒฝ์ฐ์ ์์ ํฌํจํ๋ฏ๋ก ์ด๊ธฐ์ 1๋ก ์ด๊ธฐํ ํด์ฃผ๋ฉด ๋๋ค.
์ฝ๋
from sys import stdin
if __name__ == '__main__':
n = int(stdin.readline())
nums = list(map(int, stdin.readline().split()))
# ์๊ธฐ์์ ์ ํฌํจํ๋ฏ๋ก 1๋ก ์ด๊ธฐํ
answer = [1] * n
for i in range(1, n):
for j in range(i):
if nums[j] < nums[i]:
answer[i] = max(answer[i], answer[j] + 1)
print(max(answer))
728x90
๋ฐ์ํ
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค: 1912 ์ฐ์ํฉ (0) | 2020.07.01 |
---|---|
๋ฐฑ์ค: 14002 ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด 4 (2) | 2020.07.01 |
๋ฐฑ์ค: 2193 ์ด์น์ (0) | 2020.06.30 |
๋ฐฑ์ค: 10844 ์ฌ์ด ๊ณ๋จ ์ (0) | 2020.06.30 |
๋ฐฑ์ค: 16194 ์นด๋ ๊ตฌ๋งคํ๊ธฐ 2 (0) | 2020.06.29 |
๋๊ธ
๊ธ ๋ณด๊ดํจ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ