728x90
반응형
https://www.acmicpc.net/problem/12015
12015번: 가장 긴 증가하는 부분 수열 2
첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000,000)
www.acmicpc.net
최종 코드
GitHub - hwayeon351/BEAKJOON-Algorithms: 백준 알고리즘 소스 코드 모음
백준 알고리즘 소스 코드 모음. Contribute to hwayeon351/BEAKJOON-Algorithms development by creating an account on GitHub.
github.com
import sys
from bisect import bisect_left
input = sys.stdin.readline
N = int(input())
arr = list(map(int, input().split()))
lis = []
for num in arr:
if len(lis) == 0: lis.append(num)
else:
loc = bisect_left(lis, num)
if loc >= len(lis):
lis.append(num)
else:
lis[loc] = num
print(len(lis))
풀이 과정
import sys
from bisect import bisect_left
input = sys.stdin.readline
N = int(input())
arr = list(map(int, input().split()))
lis = []
for num in arr:
if len(lis) == 0: lis.append(num)
else:
loc = bisect_left(lis, num)
if loc >= len(lis):
lis.append(num)
else:
lis[loc] = num
print(len(lis))
#시간복잡도 = O(NlogN), 공간복잡도 = O(N)
728x90
반응형
'코테 노트 > 백준' 카테고리의 다른 글
백준 21609 상어 중학교 C++ (0) | 2021.10.14 |
---|---|
백준 20061 모노미노도미노 2 C++ (0) | 2021.10.14 |
백준 14002 가장 긴 증가하는 부분 수열 4 Python 3 (0) | 2021.10.06 |
백준 17825 주사위 윷놀이 C++ (0) | 2021.10.06 |
백준 7453 합이 0인 네 정수 Python 3 (0) | 2021.10.05 |