백준 JAVA 11722번 가장 긴 감소하는 부분 수열
문제 링크: https://www.acmicpc.net/problem/11722
해당 문제를 처음에는 DFS로 시도했지만 시간초과로 실패했다. 그래서 DP로 다시 풀어 보았다.
import java.math.BigInteger;
import java.util.*;
import java.io.*;
public class Main {
static int [] arr;
static int t;
public static void main(String [] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
t= Integer.parseInt(br.readLine());
arr = new int [t+1];
String[] s = br.readLine().split(" ");
for(int i=0; i<t; i++){
arr[i+1]=Integer.parseInt(s[i]);
}
int d[] = new int[t + 1];
d[1] = 1;
for (int i = 2; i <= t; i++) {
d[i] = 1;
for (int j = 1; j < i; j++) {
if (arr[i] < arr[j] && d[i] <= d[j]) {
d[i] = d[j] + 1;
} else if (arr[i] == arr[j]) {
d[i] = d[j];
}
}
}
int max = 0;
for (int i = 1; i <= t; i++)
max = Math.max(d[i], max);
System.out.println(max);
}
}
'Alogorithm > DP' 카테고리의 다른 글
백준 2156 [자바] java 포도주 시식 (0) | 2022.02.22 |
---|---|
백준 11053[자바] java 가장 긴 증가하는 부분 수열 (0) | 2022.02.19 |
백준 1106 [자바] java 호텔 (0) | 2022.01.11 |
백준 JAVA 11726번 2xn 타일 (0) | 2021.12.29 |
백준 JAVA 17626번 Four Squares (0) | 2021.12.09 |
댓글
이 글 공유하기
다른 글
-
백준 11053[자바] java 가장 긴 증가하는 부분 수열
백준 11053[자바] java 가장 긴 증가하는 부분 수열
2022.02.19 -
백준 1106 [자바] java 호텔
백준 1106 [자바] java 호텔
2022.01.11 -
백준 JAVA 11726번 2xn 타일
백준 JAVA 11726번 2xn 타일
2021.12.29 -
백준 JAVA 17626번 Four Squares
백준 JAVA 17626번 Four Squares
2021.12.09