조망권이 확보되기 위한 조건을 생각해보면
1. n 위치의 높이가 n-2, n-1, n+1, n+2 보다 높아야 한다.
2. 높이가 얼마나 높은지 4개 중 가장 최솟값을 구한다.
3. 최솟값들을 더해주면 조망권을 확보된 개수가 나온다.
D3 치고 쉬운 문제인듯🤗
import java.util.Scanner;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
for(int test_case = 1; test_case <= 10; test_case++)
{
int n =sc.nextInt();
int[] arr = new int[n+4];
int result = 0;
int cnt = 0;
for(int i =0; i<n;i++){
arr[i] = sc.nextInt();
}
for(int i =2; i<n-2;i++){
if(arr[i] > arr[i-1] &&arr[i] > arr[i-2] && arr[i] > arr[i+1] && arr[i] > arr[i+2]){
int l_min = Math.min(arr[i] - arr[i-1], arr[i] -arr[i-2]);
int r_min = Math.min(arr[i] -arr[i+2],arr[i] -arr[i+1]);
result += Math.min(l_min, r_min);
}
}
System.out.printf("#%d %d\n", test_case, result);
}
}
}