💡 Info
- 난이도: D2
- 시간 제한: 10개의 테스트 케이스를 합쳐서 30초
- 메모리 제한: 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내
SWEA 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5LrsUaDxcDFAXc&categoryId=AV5LrsUaDxcDFAXc
풀이 링크(GitHub): hayannn/CodingTest_Java/SWEA/D2/1859. 백만 장자 프로젝트
3
3
10 7 6
3
3 5 9
5
1 1 3 1 2
#1 0
#2 10
#3 5
실제 풀이 시간 : 1시간 42분
import java.util.Arrays;
import java.util.Scanner;
import java.util.stream.Collectors;
import java.util.List;
import java.io.FileInputStream;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
int T;
T=sc.nextInt();
sc.nextLine();
for(int test_case = 1; test_case <= T; test_case++)
{
int n = Integer.parseInt(sc.nextLine());
List<Integer> numList = Arrays.stream(sc.nextLine().split(" "))
.map(Integer::parseInt)
.collect(Collectors.toList());
int[] temp = new int[numList.size()];
int max = 0;
double result = 0;
for(int i=n-1; i>=0; i--) {
if(max < numList.get(i).intValue())
max = numList.get(i).intValue();
temp[i] = max - numList.get(i).intValue();
}
for(int i=0; i<temp.length; i++)
result += temp[i];
System.out.println("#" + test_case + " " + Math.round(result));
}
}
}