새소식

반응형
250x250
Leetcode

[리트코드] Valid Mountain Array

  • -
728x90
반응형

 

배열의 형태가 첫 번째 그림과 같이 산 모양의 형태인지 판별하는 문제

 

문제를 풀기 위해서는 제일 큰 값을 가진 요소의 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;
    }
}
728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.