ํฐ์คํ ๋ฆฌ ๋ทฐ
๐จ๐ป ์ฝ๋ฉํ
์คํธ/๋ฐฑ์ค
๋ฐฑ์ค: 11722 ๊ฐ์ฅ ๊ธด ๊ฐ์ํ๋ ๋ถ๋ถ ์์ด
dirmathfl 2020. 7. 5. 22:09728x90
๋ฐ์ํ
๋ฌธ์
11722๋ฒ: ๊ฐ์ฅ ๊ธด ๊ฐ์ํ๋ ๋ถ๋ถ ์์ด
์์ด A๊ฐ ์ฃผ์ด์ก์ ๋, ๊ฐ์ฅ ๊ธด ๊ฐ์ํ๋ ๋ถ๋ถ ์์ด์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์๋ฅผ ๋ค์ด, ์์ด A = {10, 30, 10, 20, 20, 10} ์ธ ๊ฒฝ์ฐ์ ๊ฐ์ฅ ๊ธด ๊ฐ์ํ๋ ๋ถ๋ถ ์์ด์ A = {10, 30, 10, 20, 20, 10} ๏ฟฝ
www.acmicpc.net
๋ฌธ์ ํ์ด
๊ธฐ์กด์ ํผ ๋ฌธ์ ์ค ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์์ ๋ถ๋ฑํธ์ ๋ฐฉํฅ๋ง ๋ณ๊ฒฝํ๋ฉด, ์ด ๋ฌธ์ ๋ ํ ์ ์๋ค. ์ฆ ์ด์ ๋ฌธ์ ์ ํ์ด๋ฅผ ์ ํํ ์ดํดํ๊ณ ์๋ค๋ฉด ๋น์ทํ๊ฒ ์์ฉํด์ ํธ๋ ๋ฌธ์ ์ด๋ฏ๋ก ์ด๋ ต์ง ์๊ฒ ๋ฌธ์ ๋ฅผ ํ ์ ์๋ค.
์ฝ๋
from sys import stdin
if __name__ == '__main__':
n = int(stdin.readline())
nums = list(map(int, stdin.readline().split()))
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
๋ฐ์ํ
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค: 11054 ๊ฐ์ฅ ๊ธด ๋ฐ์ดํ ๋ ๋ถ๋ถ ์์ด (0) | 2020.07.07 |
---|---|
๋ฐฑ์ค: 11057 ์ค๋ฅด๋ง ์ (0) | 2020.07.06 |
๋ฐฑ์ค: 11055 ๊ฐ์ฅ ํฐ ์ฆ๊ฐ ๋ถ๋ถ ์์ด (0) | 2020.07.05 |
๋ฐฑ์ค: 1932 ์ ์ ์ผ๊ฐํ (0) | 2020.07.04 |
๋ฐฑ์ค: 2156 ํฌ๋์ฃผ ์์ (0) | 2020.07.04 |
๋๊ธ
๊ธ ๋ณด๊ดํจ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ