LIS, 이분탐색 - 2352번: 반도체 설계

jisu_log·2025년 8월 24일

알고리즘 문제풀이

목록 보기
90/105

선이 교차하지 않아야 함 -> 순서 유지 -> 최대한 많은 연결 -> 최장증가부분수열의 길이 구하는 문제!

from bisect import bisect_left


n = int(input())
ports = list(map(int, input().split()))

# print(ports)


lis = []

for i in range(n):
    pos = bisect_left(lis, ports[i])

    if pos == len(lis):
        lis.append(ports[i])
    else:
        lis[pos] = ports[i]


print(len(lis))

0개의 댓글