정수 배열

import java.util.Arrays;

class Main {
  public static int longest_incseq(int[] arr) {
    // fill here!
	  int z = arr.length;
	  int[] a = new int [z];
	  int[] dp = new int [z];
	  for(int i = 0; i < z; ++i) {
		  a[i] = z;
		  dp[i] = 1;
	  }
	  for(int i = 1; i < z; ++i) {
		  for (int j = 0; j < z; ++j) {
			  if(a[i] > a[j]) {
				  dp[i] = Math.max(dp[j] + 1 , dp[i]);
			  }
		  }
	  }
	  Arrays.sort(dp);
	  return dp[z-1];
	 
    
  }
  public static void main(String[] args) {
    int[] arr = {10, 20, 10, 30, 20, 50};
    System.out.println(longest_incseq(arr)); // 4
  }
}

제가 배열의 증가하는 부분의 수열의 길이를 구하고 싶은데 값이 4가 아닌 1이 나오네요 어디가 잘못된건지 알려주실수 있나요?

a[i] = z

요 부분 때문에

if(a[i] > a[j])

이 조건문이 기능을 못하네요

디버거 사용법을 먼저 공부해보시지요 :smile:

감사합니다