배열의 형태가 첫 번째 그림과 같이 산 모양의 형태인지 판별하는 문제
문제를 풀기 위해서는 제일 큰 값을 가진 요소의 index를 알아내는 것이다.
그 index를 알아내서 그 전까지 계속 증가하는지, index 후에는 계속 감소하는지 판별하면 되는 문제이다.
그리고 index가 0 또는 제일 마지막 인덱스일 때에는 false를 반환해야 한다.
class Solution {
public boolean validMountainArray(int[] arr) {
int length = arr.length;
int max = 0;
int index = 0;
for(int i = 0; i < length; i++) {
if(arr[i] > max) {
max = arr[i];
index = i;
}
}
if(index == 0 || index == length - 1) {
return false;
}
for(int i = 0; i < length - 1; i++) {
if(i < index) {
if(arr[i] >= arr[i + 1]) return false;
} else {
if(arr[i] <= arr[i+1]) return false;
}
}
return true;
}
}