알고리즘 풀이
.leetcode(852. Peak Index in a Mountain Array)
silvergoni
2022. 3. 29. 22:45
반응형
https://leetcode.com/problems/peak-index-in-a-mountain-array/
1. 2022.03.29 시도
소요시간: 4분
class Solution {
public int peakIndexInMountainArray(int[] arr) {
int peak = -1;
for (int i=0; i<arr.length; i++) {
if (peak < arr[i]) {
peak = arr[i];
} else {
return i-1;
}
}
return -1;
}
}
풀이 접근 과정
문제상에서 배열이 보장되어있었다.
순서대로 읽어서 숫자가 작아지는 시점의 바로 전 인덱스를 리턴하면 되겠다 싶었다.
느낀점
- 문제에서 조건을 많이 편하게 잡아줘서 수월하게 풀 수 있었다.
- 이건 바이너리 서치로 풀어보는게 묘미이다.
class Solution {
public int peakIndexInMountainArray(int[] arr) {
int left = 0;
int right = arr.length - 1;
while (left < right) {
int mid = left + (right - left)/2;
if (arr[mid] < arr[mid+1]) {
left = mid + 1;
} else {
right = mid;
}
}
return left;
}
}
알고리즘 정리노트: .leetcode(알고리즘 문제풀이 접근)
반응형