2020๋ ์ฌํด์ ๋ง์ง๋ง ๋ธ๋ก๊ทธ๋ฅผ ์์ฑํ๊ฒ ์ต๋๋ค.
๋์ ๊ณํ๋ฒ์ด๋?
๋ณต์กํ ๋ฌธ์ ๋ฅผ ์ฌ๊ท๋ฅผ ํตํด ๊ฐ๋จํ ํ์ ๋ฌธ์ ๋ก ๋ถ๋ฅ ๋ฐ ๋จ์ํํ์ฌ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ
์ต์ ๋ถ๋ถ ๊ตฌ์กฐ / ์ค๋ณต๋๋ ๋ถ๋ถ ๋ฌธ์ ๊ฐ ์๋ค๋ฉด ๋์ ๊ณํ๋ฒ์ ์ฌ์ฉํ๋ฉด ์ข์ต๋๋ค.
์ต์ ๋ถ๋ถ๊ตฌ์กฐ : ๋ต์ ๊ตฌํ๊ธฐ ์ํด ํ๋ ๊ณ์ฐ์ ๋ฐ๋ณตํด์ผํ๋ ๊ตฌ์กฐ
์ต์ฅ ์ฆ๊ฐ ๋ถ๋ถ์ด ์ฐพ๊ธฐ
1. ๋์ ๊ณํ๋ฒ
from bisect import bisect
from itertools import combinations
from functools import wraps
def solution(seq):
L = [1] * len(seq)
res = []
for cur, val in enumerate(seq):
for i in range(cur):
if seq[i] <= val:
L[cur] = max(L[cur], 1 + L[pre])
return max(L)