SWEA3307 최장 증가 부분 수열

·2022년 4월 27일
0

SWEA 알고리즘

목록 보기
28/29

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class Solution {
	static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
	static StringTokenizer st;

	public static void main(String[] args) throws IOException {
		int T = Integer.parseInt(br.readLine());
		for(int tc = 1; tc <= T; tc++) {
			int N = Integer.parseInt(br.readLine());
			int[] input = new int[N];
			int[] lis = new int[N];
			st = new StringTokenizer(br.readLine(), " ");
			for(int i = 0; i < N; i++) {
				input[i] = Integer.parseInt(st.nextToken());
			}
			
			int maxL = 0;
			for(int i = 0; i < N; i++) {
				lis[i] = 1;
				for(int j = 0; j < i; j++) {
					if(input[i] > input[j] && lis[i] <= lis[j]) {
						lis[i] = lis[j] + 1;
					}
				}
				if(lis[i] > maxL) maxL = lis[i];
			}
		
			bw.append("#" + tc + " " + maxL + "\n");
				
		}
		bw.flush();
	}
}
profile
SSAFY 7기

0개의 댓글