본문 바로가기
전공공부/코딩테스트

(c++) 백준 "2491. 수열"

by 시아나 2022. 5. 12.

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

 

2491번: 수열

0에서부터 9까지의 숫자로 이루어진 N개의 숫자가 나열된 수열이 있다. 그 수열 안에서 연속해서 커지거나(같은 것 포함), 혹은 연속해서 작아지는(같은 것 포함) 수열 중 가장 길이가 긴 것을 찾

www.acmicpc.net


#include <iostream>
#include <vector>

using namespace std;
int N;
vector<int> list;
void solution() {
	int answer = 0;
	int count = 1;
	for (int i = 0; i < N-1; i++) { //big
		if (list[i] <= list[i + 1]) {
			count++;
		}
		else {
			answer = max(answer, count);
			count = 1;
		}
	}
	answer = max(answer, count);
	count = 1;
	for (int i = 0; i < N - 1; i++) { //small
		if (list[i] >= list[i + 1]) {
			count++;
		}
		else {
			answer = max(answer, count);
			count = 1;
		}
	}
	answer = max(answer, count);
	cout << answer << endl;
}

int main() {
	cin >> N;
	for (int i = 0; i < N; i++) {
		int n; cin >> n;
		list.push_back(n);
	}
	solution();
	return 0;
}