삐까냥의 파도타기
3307. 최장 증가 부분 수열 본문
3307. 최장 증가 부분 수열
문제 출처 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWBOKg-a6l0DFAWr&categoryId=AWBOKg-a6l0DFAWr&categoryType=CODE
최장 증가 부분 수열이라는 개념만 이해하면 풀수 있어요
import java.util.Scanner; public class Q3307 {
public static void main(String[] args) { Scanner sc = new Scanner(System.in); int testCase = sc.nextInt();
for (int i = 0; i < testCase; i++) { int size = sc.nextInt(); int[][] values = new int[2][size]; for (int j = 0; j < size; j++) { values[0][j] = sc.nextInt(); }
int result = 0; for (int j = 0; j < size; j++) { int value = values[0][j]; int count = values[1][j];
for (int k = j+1; k < size; k++) { if (value < values[0][k] && count+1 > values[1][k]) { values[1][k] = count + 1; if (count+1 > result) { result = count +1; } } } } System.out.println("#" + (i+1) + " " + (result+1)); } } } |
'코딩 > SW Expert Academy' 카테고리의 다른 글
3260. 두 수의 덧셈 (0) | 2018.03.15 |
---|---|
3376. 파도반 수열 (0) | 2018.03.15 |
2817. 부분 수열의 합 (0) | 2018.03.15 |
3131. 100만 이하의 모든 소수 (0) | 2018.03.15 |
3233. 정삼각형 분할 놀이 (0) | 2018.03.14 |