알고리즘

백준 11053번 가장 긴 증가하는 부분 수열 Java

YL 2021. 7. 14. 08:44
반응형

BOJ 11053번 가장 긴 증가하는 부분 수열 Java

 

가장 긴 증가하는 부분 수열의 개념을 먼저 알아야한다. (자세한설명 나무위키)

수열의 정렬을 건드리지 않고, 가장 적은 숫자를 제거해서 오름차순인 수열을 만들어내는 것이다.

 

백준은 테스트케이스가 다양한 상황을 고려하지 못해서 개인적으로 만들어봤다.

테스트케이스:  {1 2 1 3 2 6 4 5}

🎈 1 2 1 3 2 6 4 5

🎈 1 2 1 3 2 6 4 5

이 두가지 경우 중 가장 긴 것을 선택해야한다.

 

🎈 1 2 3 6

🎈 1 2 3 4 5

이 둘은 각각 { 1 2 3 } + 6 과 { 1 2 3 } + 4 5 한 것중 긴 것을 택한 것.

 

For 1 ~ N

  For 1~N-1

의 이중포문으로 시간복잡도는 O(NlogN) 이라고 한다.

 

반응형

'알고리즘' 카테고리의 다른 글

알고리즘 인덱스 트리, 세그먼트 트리  (0) 2021.07.30
백준 12015 가장 긴 증가하는 부분 수열2 Java  (0) 2021.07.29
백준 10775 공항 Java  (0) 2021.07.10
알고리즘 문제 핀볼  (0) 2021.06.13
백준 11437번 LCA  (0) 2021.06.11