백준 11501 - 주식
Updated:
Java
11501 번 - 주식
문제
접근 방법
입력받은 주가들을 뒤에서 부터 확인하며 그리디로 해결되는 문제이다.
코드
import java.util.*;
import java.io.*;
public class Main {
static int n;
static long result;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer stk;
int tc = stoi(br.readLine());
int curN, top;
while(tc-- != 0) {
result = 0;
top = -1;
n = stoi(br.readLine());
stk = new StringTokenizer(br.readLine());
int[] arr = new int[n];
for(int i = 0; i < n; i++) {
arr[i] = stoi(stk.nextToken());
}
// 뒤에서 부터 주가를 확인한다.
for(int i = n - 1; i >= 0; i--) {
curN = arr[i];
// 더 높은 주가가 있으면
if(top < curN) {
top = curN;
}
else {
result += top - curN;
}
}
System.out.println(result);
}
br.close();
}
static int stoi(String str) {
return Integer.parseInt(str);
}
}