PS

[1965] 상자넣기 [C]

kimyoungrok 2021. 7. 28. 00:00
728x90

백준 - 1965


풀이

"백준 11053 가장 긴 증가하는 부분 수열" 문제와 동일하다.


소스코드

#include <stdio.h>
int main(){
    int N, max = 0, length;
    scanf("%d", &N);
    int arr[N], dp[N];
    for (int i = 0; i < N; i++){
        scanf("%d", &arr[i]);
        length = 0;
        for (int j = 0; j < i; j++)
            if (arr[j] < arr[i])
                length < dp[j] && (length = dp[j]);
        dp[i] = length + 1;
       	max < dp[i] && (max = dp[i]);    
    }
    printf("%d", max);
}

출처

 

1965번: 상자넣기

정육면체 모양의 상자가 일렬로 늘어서 있다. 상자마다 크기가 주어져 있는데, 앞에 있는 상자의 크기가 뒤에 있는 상자의 크기보다 작으면, 앞에 있는 상자를 뒤에 있는 상자 안에 넣을 수가

www.acmicpc.net

 

 

[백준 11053] 가장 긴 증가하는 부분 수열 [C]

풀이 반복문을 통해 입력받은 수까지 증가하는 부분 수열의 길이를 dp에서 받아와 등록한다. length = 0; for (int j = 0; j < i; j++) if (arr[j] < arr[i]) length < dp[j] && (length = dp[j]); dp[i] = lengt..

kyr-db.tistory.com

728x90