반응형
증가하는 부분 수열을 반대로 만들면 된다.
이전 수열의 마지막 값보다 자신이 더 작다면 수열에 추가하고, 그게 아니라면 나부터 다시 수열이 시작하도록!
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class LongestDecreasingSequence {
public static int stoi(String str) {
return Integer.parseInt(str);
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = stoi(br.readLine());
int[] arr = new int[N+1];
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
for (int i=1; i<=N; i++) {
arr[i] = stoi(st.nextToken());
}
int[] dp = new int[N+1];
dp[1] = 1;
for (int i=2; i<=N; i++) {
dp[i] = 1;
for(int j=1; j<i; j++) {
if (arr[j] > arr[i]) {
int tmp = dp[j] + 1;
if (tmp > dp[i]) {
dp[i] = tmp;
}
}
}
}
int max = dp[1];
for (int i=2; i<=N; i++) {
if (max < dp[i]) {
max = dp[i];
}
}
System.out.println(max);
}
}
'컴퓨터 공학 > 백준' 카테고리의 다른 글
[백준] JAVA 자바 : 연속합 2 (13398번) (0) | 2024.01.27 |
---|---|
[백준] JAVA 자바 : 가장 긴 바이토닉 부분 수열 (11054번) (0) | 2024.01.27 |
[백준] JAVA 자바 : 가장 큰 증가하는 부분 수열 (11055번) (0) | 2024.01.27 |
[백준] JAVA 자바 : 정수 삼각형 (1932번) (0) | 2024.01.27 |
[백준] JAVA 자바 : 포도주 시식 (2156번) (1) | 2024.01.27 |