백준 - 11053번 가장 긴 증가하는 부분 수열

weenybeenymini·2020년 11월 23일
0

문제

ㅈㄱㄴ

생각

전에 풀었던 문제 의 완전 기본 버전
전엔 벡터로 풀었는데 이번엔 배열로 풀어봤다

배열값, 최대값 초기화를 잊지말구 잘 해줘야한당

코드

#define _CRT_SECURE_NO_WARNINGS

#include <iostream>
#include <vector>
#include <cstring>
#include <algorithm>
#include <queue>
#include <set>

using namespace std;

int n;

int num[1005], sub[1005];

int findMaxLen() {
	int maxLen = 1;

	for (int i = 0; i < n; i++) {
		sub[i] = 1;
		for (int j = i - 1; j >= 0; j--) {
			if (num[i]>num[j]) {
				sub[i] = max(sub[i], sub[j] + 1);
			}
		}
		maxLen = max(maxLen, sub[i]);
	}

	return maxLen;
}

int main() {
	cin >> n;

	for (int i = 0; i < n; i++) {
		cin >> num[i];
	}

	cout << findMaxLen();

	return 0;
}

0개의 댓글

관련 채용 정보