문제
https://school.programmers.co.kr/learn/courses/30/lessons/68646
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.*;
class Solution {
public int solution(int[] a) {
int n = a.length;
if (n < 3) return n;
int[] leftMin = new int[n];
int[] rightMin = new int[n];
leftMin[0] = a[0];
rightMin[n-1] = a[n-1];
for (int i = 1; i < n; i++) {
leftMin[i] = Math.min(leftMin[i-1], a[i]);
}
for (int i = n-2; i >= 0; i--) {
rightMin[i] = Math.min(rightMin[i+1], a[i]);
}
int answer = 2;
for (int i = 1; i < n-1; i++) {
if (a[i] > leftMin[i-1] && a[i] > rightMin[i+1]) continue;
answer++;
}
return answer;
}
}
'문제 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] N으로 표현 - Java (0) | 2024.09.02 |
---|---|
[프로그래머스] 보행자 천국 - Java (2) | 2024.09.01 |
[프로그래머스] 코딩 테스트 공부 - Java (0) | 2024.08.31 |
[프로그래머스] 아이템 줍기 - Java (0) | 2024.08.31 |
[프로그래머스] 선입 선출 스케줄링 - Java (0) | 2024.08.30 |