반응형
public class Main {
private static final int MAX = 1000;
private static final int[] D = new int[MAX];
private static final int[] V = new int[MAX];
public static void go(int index, String[] a) {
if(index == -1) {
return;
}
go(V[index], a);
if(index == 0) {
System.out.printf(a[index]);
}else {
System.out.printf(" " + a[index]);
}
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
String readLine = br.readLine();
String[] split = readLine.split(" ");
int max = 0;
for (int i = 0; i < n; i++) {
D[i] = 1;
V[i] = -1;
for (int j = 0; j < i; j++) {
if((Integer.parseInt(split[j]) < Integer.parseInt(split[i])) && (D[i] < (D[j] + 1))) {
D[i] = D[j] + 1;
V[i] = j; //이전 인덱스가 j일 때 가장 큰 길이를 가진다.
}
}
if(D[i] > D[max]) {
max = i;
}
}
System.out.println(D[max]);
go(max, split);
}
}
반응형
'Algorithm > 백준 문제풀이' 카테고리의 다른 글
백준 1912 - 연속합(자바 구현) (0) | 2022.03.11 |
---|---|
백준 11053 - 가장 긴 증가하는 부분 수열(자바 구현) (0) | 2022.03.08 |
백준 1676 - 팩토리얼 0의 개수(자바 구현) (0) | 2022.03.03 |
백준 10872 - 팩토리얼(자바 구현) (0) | 2022.03.03 |
백준 6588 - 골드바흐의 추측(자바 구현) (0) | 2022.02.26 |