728x90
반응형
문제는 다음과 같습니다.
https://www.acmicpc.net/problem/11053
문제 이해부터가 힘드네요....
가장 긴 증가하는 부분 수열이라....
주어진 수열 중에서 증가하는 수열의 길이를 가장 길게 만들어라??라는 의미인데요.
import java.util.Scanner; public class Test11053 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //수열의 크기 N, N크기의 수열 arr[], 증가하는 부분 수열의 길이 dp[i] int N = sc.nextInt(); int arr[] = new int[N]; for(int i=0; i<N; i++){ arr[i] = sc.nextInt(); } int max=1; int dp[] = new int[N]; for(int i=0; i<N; i++){ dp[i]=1; for(int j=0; j<i; j++){ if(arr[i]>arr[j] && dp[i]<=dp[j]){ dp[i]+=1; if(max<dp[i]){ max = dp[i]; } } } } System.out.println(max); sc.close(); } }
결과는 다음과 같습니다.
728x90
반응형
'프로그래밍 > 알고리즘' 카테고리의 다른 글
백준 알고리즘 1149번 RGB거리!! (0) | 2017.10.07 |
---|---|
카카오톡 모의 테스트!! (0) | 2017.09.24 |
백준 알고리즘 6359번 만취한 상범 !! (0) | 2017.09.16 |
백준 알고리즘 9095번 1, 2, 3 더하기!! (1) | 2017.09.15 |
백준 알고리즘 11399번 ATM (0) | 2017.09.14 |