JH 개발 블로그
백준 파이썬 12015 가장 긴 증가하는 부분수열 2 본문
import bisect
import sys
input = sys.stdin.readline
x = int(input())
arr = list(map(int, input().split()))
temp = [arr[0]]
for i in range(x):
if arr[i] > temp[-1]:
temp.append(arr[i])
else:
idx = bisect.bisect_left(temp, arr[i])
temp[idx] = arr[i]
print(len(temp))
이분탐색 bisect 모듈의 bisect_left 함수를 통해 수열을 계속 수정하면서 답을 구합니다.
'코딩테스트 > 백준' 카테고리의 다른 글
백준 2109 파이썬 순회공연 (0) | 2022.01.23 |
---|---|
백준 1285 동전 뒤집기 파이썬 (0) | 2022.01.23 |
백준 1783 파이썬 병든 나이트 (0) | 2022.01.23 |
백준 파이썬 12970 AB (0) | 2022.01.23 |
백준 파이썬 2873 롤러코스터 (0) | 2022.01.23 |
Comments