알고리즘
[백준/자바] #14719
룰루루
2025. 7. 11. 21:04
이전에 풀었던 알고리즘을 java로 옮겨 보았다.
import java.io.*;
import java.util.*;
public class Main {
static int H, W;
static int[] arr;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader((System.in)));
int answer = 0;
StringTokenizer st = new StringTokenizer(br.readLine());
H = Integer.parseInt(st.nextToken());
W = Integer.parseInt(st.nextToken());
arr = new int[W];
String[] arrInput = br.readLine().split(" ");
for(int i=0; i<W; i++) {
arr[i] = Integer.parseInt(arrInput[i]);
}
br.close();
int leftMax = arr[0];
int rightMax = Arrays.stream(Arrays.copyOfRange(arr, 2, W)).max().getAsInt();
int minMax = 0;
for(int i=1; i<W-1; i++) {
leftMax = Math.max(leftMax, arr[i-1]);
rightMax = Arrays.stream(Arrays.copyOfRange(arr, i+1, W)).max().getAsInt();
minMax = Math.min(leftMax, rightMax);
if(minMax > arr[i]) {
answer += (minMax - arr[i]);
}
}
System.out.println(answer);
}
}