본문 바로가기
알고리즘/문제 풀이

[Java] 백준 1965번 상자넣기

by _eunji_ 2020. 6. 3.

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

 

1965번: 상자넣기

정육면체 모양의 상자가 일렬로 늘어서 있다. 상자마다 크기가 주어져 있는데, 앞에 있는 상자의 크기가 뒤에 있는 상자의 크기보다 작으면, 앞에 있는 상자를 뒤에 있는 상자 안에 넣을 수가 ��

www.acmicpc.net

import java.util.Scanner;

public class Main {
	public static void main(String[] args ) {
		// LIS 
		Scanner s= new Scanner(System.in);
		
		int N = s.nextInt();
		
		int size[] = new int[N+2];
		int dp[] = new int[N+2];
		
		int max=0;
		
		for(int i=1;i<=N;i++) {
			size[i]=s.nextInt();
			dp[i] = 1;
		}
		
		dp[1]=1;
		
		for(int i=1;i<=N;i++) {
			for (int j = 1; j <= i; j++) {
				if (size[j] < size[i]) dp[i] = Math.max(dp[i], dp[j] + 1); 
			}
			  max = Math.max(max, dp[i]);
}
		
		

		System.out.println(max);
		}
}

댓글