๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/11501)
< ์ฃผ์ >
๋ฌธ์ ํ์ด
์ฃผ์ ๊ฐ๊ฒฉ์ด ๋์ ๋ ์ ์ฃผ์์ ํ์์ผ ํ๋ฏ๋ก ๋ค์์๋ถํฐ ๊ฐ์ ํ์ธํด์ ์ฃผ์์ ๊ฐ๊ฒฉ์ด ๋์ ๋ ์ ์ฐพ๋๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class _11501_ { // ์ฃผ์
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int t = Integer.parseInt(bf.readLine());
for (int i = 0; i < t; i++) {
int n = Integer.parseInt(bf.readLine());
st = new StringTokenizer(bf.readLine());
int arr[] = new int[n];
long result = 0;
for (int j = 0; j < n; j++) {
arr[j] = Integer.parseInt(st.nextToken());
}
int max_value = arr[n - 1];
for (int j = n - 2; j >= 0; j--) {
if (max_value < arr[j]) {
max_value = arr[j];
} else {
result += max_value - arr[j];
}
}
bw.write(result + "\n");
}
bw.flush();
}
}
๋ณ์)
t : ํ ์คํธ์ผ์ด์ค ์
n : ๋ ์ ์
arr : ๋ ๋ณ ์ฃผ๊ฐ
result : ์ต๋ ์ด์ต
max_value : ์ฃผ๊ฐ ์ต๋๊ฐ
๋ฐฐ์ด์ ๋ค์์๋ถํฐ ํ์ํ๋ฉด์ ์ต๋๊ฐ์ ์ฐพ๋๋ค. ํ์ฌ ๊ตฌํ ์ต๋๊ฐ๋ณด๋ค ๊ฐ์ด ํฌ๋ค๋ฉด ๊ฐ์ ์ ๋ฐ์ดํธํด ์ฃผ๊ณ ํฌ์ง ์๋ค๋ฉด ์ด์ต์ ์ป์ ์ ์์ผ๋ฏ๋ก (์ต๋๊ฐ-์ฃผ๊ฐ)๋ฅผ ๊ตฌํด ์ด์ต์ ๊ฐ์ ๋ํ๋ค.
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 9237_์ด์ฅ๋ ์ด๋ (1) | 2024.01.03 |
---|---|
[Baekjoon] 14469_์๊ฐ ๊ธธ์ ๊ฑด๋๊ฐ ์ด์ 3 (1) | 2024.01.02 |
[Baekjoon] 3182_ํ๋์ด๋ ๊ณต๋ถ๊ฐ ํ๊ธฐ ์ซ์ด! (0) | 2023.12.28 |
[Baekjoon] 2847_๊ฒ์์ ๋ง๋ ๋์ค์ด (0) | 2023.12.27 |
[Baekjoon] 28432_๋๋ง์๊ธฐ (0) | 2023.12.26 |