슈콩

[BOJ] 백준 11053 가장 긴 증가하는 부분 수열 본문

Algorithms/Baekjoon

[BOJ] 백준 11053 가장 긴 증가하는 부분 수열

shukong 2025. 8. 22. 17:26

[문제]

https://www.acmicpc.net/problem/11053

 

 

[소스 코드]

import java.io.*;
import java.util.*;
public class Main {
    public static void main(String[] args) throws IOException {
    	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    	StringTokenizer st;
    	int n = Integer.parseInt(br.readLine());
    	int[] num = new int[n+1];
    	st = new StringTokenizer(br.readLine());
    	for(int i=1;i<=n;i++) {
    		num[i] = Integer.parseInt(st.nextToken());
    	}
    	int[] dp = new int[n+1];
    	for(int i=1;i<=n;i++) {
    		dp[i] = 1;
    	}
    	for(int i=2;i<=n;i++) {
    		for(int j=1;j<i;j++) {
    			if(num[j]<num[i]) dp[i] = Math.max(dp[i], dp[j] + 1);
    		}
    	}
    	int max = 0;
    	for(int i=1;i<=n;i++) {
    		max = Math.max(max, dp[i]);
    	}
    	System.out.println(max);
    }
}