문제 링크입니다: https://www.acmicpc.net/problem/14659
브루트 포스(Brute Force) 알고리즘 문제였습니다.
알고리즘은 아래와 같습니다.
1. [0~N)까지 반복문을 돌리면서 arr[i]를 기준 봉우리로 만듭니다.
2. [i+1 ~ N)까지 반복문을 돌리면서 1번에서 기준으로 삼은 봉우리보다 작은 봉우리들의 개수를 기준 봉우리보다 큰 봉우리가 나올 때까지 셉니다.
3. 2번에서 구한 값 중 최대를 출력합니다.
#include <iostream>
#include <algorithm>
using namespace std;
const int MAX = 30000;
int N;
int arr[MAX];
int main(void)
{
ios_base::sync_with_stdio(0);
cin.tie(0); //cin 실행속도 향상
cin >> N;
for (int i = 0; i < N; i++)
cin >> arr[i];
int result = 0;
for (int i = 0; i < N; i++)
{
int criteria = arr[i]; //기준 봉우리
int cnt = 0;
for (int j = i + 1; j < N; j++)
//기준 봉우리보다 높으면 공격을 못한다
if (arr[j] > criteria)
break;
else
cnt++;
result = max(result, cnt);
}
cout << result << "\n";
return 0;
}
개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
'알고리즘 > BOJ' 카테고리의 다른 글
백준 14647번 준오는 조류혐오야!! (0) | 2018.08.10 |
---|---|
백준 14646번 욱제는 결정장애야!! (0) | 2018.08.10 |
백준 14658번 하늘에서 별똥별이 빗발친다!! (2) | 2018.08.09 |
백준 14657번 준오는 최종인재야!! (0) | 2018.08.09 |
백준 14656번 조교는 새디스트야!! (0) | 2018.08.09 |