반응형
백준의 11053번 , 11054번, 2565번을 풀다가 '최장 증가 수열'의 코드를 정리해야겠다고 생각이 들어서 정리한다.
//최장 증가 수열 정리 코드.
#include <stdio.h>
int a[1000][2];
int N;
int max;
int main() {
int i, j;
scanf("%d", &N);
for(i = 0; i < N; i++)
scanf("%d", &a[i][0]);
for(i = 0; i < N; i++) {
for(j = 0; j < i; j++) {
if(a[i][0] > a[j][0] && a[i][1] < a[j][1])
a[i][1] = a[j][1];
}
a[i][1]++; // 수열에 나 포함(맨앞자리 시작했을때 기본값 역할도 해줌.)
if(max < a[i][1])
max = a[i][1];
}
printf("%d", max);
}
예제 입력 :
6
10 20 10 30 20 50
출력
4
필요하다면, 이해 그림 참고
반응형
'[알고리즘 + 자료구조]' 카테고리의 다른 글
소수 판별 (0) | 2021.09.09 |
---|---|
[알고리즘] LCS (최장 공통 수열) (0) | 2021.01.08 |
[알고리즘] 동적계획법(2021.02.03수정) + 그리디 알고리즘 정리 1차 + (분할 vs 동적 ) (0) | 2020.12.14 |
[알고리즘] 도수 정렬 ( = 카운팅 정렬 = 계수 정렬 ) (0) | 2020.11.27 |
[알고리즘] 힙 정렬 (Heap Sort) (0) | 2020.11.27 |