본문 바로가기
알고리즘/SW Expert

SW Expert 3307 최장 증가 부분수열 (자바)

by 김어찐 2021. 9. 16.
728x90
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.StringTokenizer;



public class Solution {
	public static void main(String[] args) throws Exception {
		System.setIn(new FileInputStream("sample_input.txt"));
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;
		st = new StringTokenizer(br.readLine()," ");
		
		int T;
		T=Integer.parseInt(st.nextToken());
		for(int test_case = 1; test_case <= T; test_case++)
		{
			st = new StringTokenizer(br.readLine()," ");
			int length=Integer.parseInt(st.nextToken());
			int[] array = new int[length];
			int[] dp = new int[length];
			st = new StringTokenizer(br.readLine()," ");
			for (int i = 0; i < length; i++) {
				array[i] = Integer.parseInt(st.nextToken());
			}
			dp[0]=1;
			int answer = 0;
			for (int i = 1; i < length; i++) {
				int maxLength=0;
				for (int j = 0; j < i; j++) {
					if(array[j]<array[i]) {
						maxLength = Math.max(maxLength, dp[j]);
					}
				}
				dp[i]=maxLength+1;
				answer = Math.max(answer,dp[i]);
			}
			
			System.out.printf("#%d %d \n",test_case,answer);
		}
	}
}
728x90

'알고리즘 > SW Expert' 카테고리의 다른 글

SW Expert 보급로 (자바)  (0) 2021.09.30
SW expert 사람 네트워크2 (자바)  (0) 2021.09.16
SW expert 3124 최소 스패닝 트리 (자바)  (0) 2021.09.16
1251 하나로  (0) 2021.08.25