728x90
1859. ๋ฐฑ๋ง ์ฅ์ ํ๋ก์ ํธ - D2
์ด์ D2 ๋ ๋ฒจ ๋ฌธ์ ์ด๋ค.
๋งจ ์ฒซ๋ฒ์งธ ์ T๋ ํ ์คํธ ์ผ์ด์ค์ ์์ด๋ค.
๊ฐ ํ ์คํธ ์ผ์ด์ค์ ์ฒซ์ค์๋ N์ผ์ ์ ๋ ฅ ๋ฐ๊ณ ,
๊ทธ ๋ฐ์ค์๋ ๊ฐ ๋ ์ ๋งค๋งค๊ฐ๋ฅผ ๋ํ๋ด๋ N๊ฐ์ ์์ฐ์(int [] num)๊ฐ ์ ๋ ฅ๋๋ค.
profit์ ์ถ๋ ฅํ ๋์ ์ด์ต์ ์ ์ฅํ๋ค.
(N์ ๋ฒ์๊ฐ 2 ≤ N ≤ 1,000,000 ์ด๊ธฐ ๋๋ฌธ์ longํ์ ์ผ๋ก ์ ์ธํ๋ค.)
max๋ ๋งค๋งค๊ฐ์ ์ต๋๊ฐ์ ์ ์ฅํ๋ค.
for๋ฌธ์ ๋ค์์ ๋ถํฐ ๊ฐ์์ํค๋ฉฐ ๋ฐ๋ณตํ๋๋ฐ,
์ต๋๊ฐ์ด num[i]๋ณด๋ค ์ ์ผ๋ฉด ๊ตฌ๋งค๋ฅผ ํ์ง ์๋๋ค ์๊ฐํ๊ณ max = num[i]๋ก ํ๋ค.
์ต๋๊ฐ์ด ์๋ ๊ฒฝ์ฐ์๋ ์ด์ต์ ํ์ฌ์ ๋ง์ง(max-num[i])์ ๊ตฌํ๋ค.
import java.util.Scanner;
import java.io.FileInputStream;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
int T=sc.nextInt();
for(int test_case = 1; test_case <= T; test_case++)
{
int day = sc.nextInt();
int[] num = new int[day];
for(int i = 0; i < day; i++){
num[i] = sc.nextInt();
}
int max = num[day-1];
long profit = 0;
for(int i = day-1; i >= 0; --i){
if(num[i] > max){
max = num[i];
}else{
profit += max - num[i];
}
}
System.out.println("#"+test_case + " " + profit);
}
}
}
๋ ๐ง
'SWEA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SWEA] 1926. ๊ฐ๋จํ 369๊ฒ์ (0) | 2022.05.29 |
---|---|
[SWEA] 1545. ๊ฑฐ๊พธ๋ก ์ถ๋ ฅํด ๋ณด์์ (0) | 2022.05.24 |
[SWEA] 1936. 1๋1 ๊ฐ์๋ฐ์๋ณด (0) | 2022.05.20 |
[SWEA] 1933. ๊ฐ๋จํ N์ ์ฝ์ (0) | 2022.05.19 |
[SWEA] 1938. ์์ฃผ ๊ฐ๋จํ ๊ณ์ฐ๊ธฐ (0) | 2022.05.18 |
๋๊ธ