문제 링크
https://www.acmicpc.net/problem/11722
11722번: 가장 긴 감소하는 부분 수열
수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} 이고, 길이는 3이다.
www.acmicpc.net
내가 작성한 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int main(void) {
int N;
int min = 0;
int max = 0;
int arr[1001] = { 0 };
int dp[1001] = { 0 };
cin >> N;
for (int i = 1; i <= N; i++) {
cin >> arr[i];
}
for (int i = 1; i <= N; i++) {
min = 0;
for (int j = 1; j <= i; j++) {
if (arr[i] < arr[j] && dp[j] > min) {
min = dp[j];
}
}
dp[i] = min + 1;
if (max < dp[i]) {
max = dp[i];
}
}
cout << max << '\n';
}
|
cs |
- 가장 긴 증가하는 부분 수열문제에서 조건문만 반대로 바꿔주면 해결되는 문제
- https://giantpark197cm.tistory.com/257
[BaekJoon]11053번 - 가장 긴 증가하는 부분 수열(DP)
문제 링크 https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10,..
giantpark197cm.tistory.com
코드 채점 결과
'BAEKJOON' 카테고리의 다른 글
[BaekJoon]10799번 - 쇠막대기 (0) | 2019.08.09 |
---|---|
[BaekJoon]11054번 - 가장 긴 바이토닉 부분 수열 (0) | 2019.08.09 |
[BaekJoon]11055번 - 가장 큰 증가 부분 수열(DP) (0) | 2019.08.06 |
[BaekJoon]11053번 - 가장 긴 증가하는 부분 수열(DP) (0) | 2019.08.04 |
[BaekJoon]9012번 - 괄호 (0) | 2019.08.03 |