728x90
๐๋ฌธ์ ๋งํฌ
11501๋ฒ: ์ฃผ์
์ ๋ ฅ์ ์ฒซ ์ค์๋ ํ ์คํธ์ผ์ด์ค ์๋ฅผ ๋ํ๋ด๋ ์์ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ์ผ์ด์ค ๋ณ๋ก ์ฒซ ์ค์๋ ๋ ์ ์๋ฅผ ๋ํ๋ด๋ ์์ฐ์ N(2 ≤ N ≤ 1,000,000)์ด ์ฃผ์ด์ง๊ณ , ๋์งธ ์ค์๋ ๋ ๋ณ ์ฃผ๊ฐ๋ฅผ ๋ํ
www.acmicpc.net
๐ป์ฝ๋
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int T = Integer.parseInt(br.readLine());
for (int t = 0; t < T; t++) {
int N = Integer.parseInt(br.readLine());
int[] stock = new int[N];
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
stock[i] = Integer.parseInt(st.nextToken());
}
//๋ค์์๋ถํฐ ํ์ํ ๊ฒ์ด๋ฏ๋ก ๋ง์ง๋ง ๊ฐ์ ๊ฐ์ฅ ํฐ ๊ฐ์ผ๋ก ์ ์ฅ
int max = stock[N - 1];
long answer = 0;
for (int i = N - 2; i >= 0; i--) {
if (stock[i] <= max) { // ํ์ฌ ์ต๋ ๊ฐ ๋ณด๋ค ์์ ๊ฒฝ์ฐ ํ๋ ๊ฒ์ด ์ด๋
answer += max - stock[i];
} else {// ํ์ฌ ์ต๋ ๊ฐ ๋ณด๋ค ํฐ ๊ฒฝ์ฐ ์์ผ๋ก ์ด ๊ฐ๊ฒฉ์ผ๋ก ์ฌ๋ ๊ฒ์ด ์ด๋
max = stock[i];
}
}
sb.append(answer + "\\n");
}
System.out.println(sb);
}
}
โณํ๊ณ
- ์ฒ์์ ์์์๋ถํฐ ํ์ํ๋ ค๊ณ ์๊ฐํด๋ณด๋ ๋ฌธ์ ์กฐ๊ฑด์ ๋ฏธ๋๋ฅผ ์์ํ๋ ๋ฐ์ด๋ ์๋ชฉ์ ๊ฐ์ก๋ค๋ผ๋ ์กฐ๊ฑด์ด ์์๋ค.
- ์ฌ๊ธฐ์ ํํธ๋ฅผ ์ป์ด ๋ค์์ ๋ถํฐ ํ์ํ๊ณ , ์ต๋๊ฐ๋ณด๋ค ์์ ๊ฒฝ์ฐ๋ ํ๊ณ , ์๋๊ฒฝ์ฐ๋ ์ต๋๊ฐ์ ์ ๋ฐ์ดํธ ํด์ฃผ์๋ค.
728x90
'Algorithm > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Algorithm/Baekjoon] ์๋ํฐ - 1406 (S2/JAVA) (0) | 2023.08.08 |
---|---|
[Algorithm/Baekjoon] ์ฃผ์ ์ - 13305 (S3/JAVA) (1) | 2023.08.07 |
[Algorithm/Baekjoon] ๋น๋ฌผ - 14719 (G5/JAVA) (0) | 2023.07.25 |
[Algorithm/Baekjoon] ํฌ๋ก์ค ์ปจํธ๋ฆฌ - 9017 (S4/JAVA) (1) | 2023.07.24 |
[Algorithm/Baekjoon] 1, 2, 3 ๋ํ๊ธฐ 4 - 15989 (S1/JAVA) (0) | 2023.07.19 |