[백준 12738번] 가장 긴 증가하는 부분 수열 3 (python, bisect)
728x90
반응형
1과 다른 점은 배열 원소의 최소값이 -10^9이기 때문이다.
따라서 q의 처음 최소값을 그 수보다 작은 수로 하면 된다
import sys
from bisect import bisect_left
n=int(sys.stdin.readline())
arr=list(map(int,sys.stdin.readline().split()))
#마지막 길이 출력 때 1을 빼준다
q=[-1000000001]
for x in arr:
if q[-1]<x:
q.append(x)
else:
#bisect_left는 원소가 들어갈 위치를 반환해준다
#길이를 구하는 문제에만 해당된다
q[bisect_left(q,x)]=x
# print(q)
print(len(q)-1)
728x90
반응형
'백준' 카테고리의 다른 글
[백준 14003번] 가장 긴 증가하는 부분 수열 5 (bisect, python) (0) | 2020.11.25 |
---|---|
[백준 14002번] 가장 긴 증가하는 부분 수열 4 (python, bisect, 어려움) (0) | 2020.11.24 |
[11053번] 가장 긴 증가하는 부분 수열 (python, bisect) (0) | 2020.11.23 |
[백준] 15685번 드래곤커브 (python, 시뮬레이션) (0) | 2020.10.18 |
[백준] 14889번 스타트와 링크 (파이썬, 완전탐색) (0) | 2020.10.17 |
TAGS.