Notice
Recent Posts
Recent Comments
Link
Dev.baelanche
[백준 11055] 가장 큰 증가 부분 수열 본문
반응형
가장 긴 증가하는 부분 수열, 가장 긴 감소하는 부분 수열과 로직이 똑같은 문제이다.
수열의 길이가 아닌 각 수열의 합을 dp 배열에 담으면 된다.
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int a[] = new int[n];
int dp[] = new int[n];
for(int i=0; i<n; i++)
a[i] = sc.nextInt();
int max = 0;
for(int i=0; i<n; i++) {
dp[i] = a[i];
for(int j=0; j<i; j++) {
if(a[i] > a[j] && dp[i] < dp[j] + a[i])
dp[i] = dp[j] + a[i];
}
if(max < dp[i])
max = dp[i];
}
System.out.println(max);
sc.close();
}
반응형
'Data Structure & Algorithm > PS - JAVA' 카테고리의 다른 글
[백준 9507] Generations of Tribbles (0) | 2019.04.06 |
---|---|
[백준 2631] 줄세우기 (0) | 2019.04.06 |
[백준 11053] 가장 긴 증가하는 부분 수열 (0) | 2019.04.06 |
[백준 11722] 가장 긴 감소하는 부분 수열 (0) | 2019.04.06 |
[백준 3023] 마술사 이민혁 (0) | 2019.04.04 |
Comments