본문 바로가기

Java/SWEA

[JAVA] SEWA 1859. 백만 장자 프로젝트

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5LrsUaDxcDFAXc&categoryId=AV5LrsUaDxcDFAXc&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=JAVA&select-1=2&pageSize=10&pageIndex=1

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

정답 

 

import java.util.Scanner;
import java.util.Stack;


class Solution
{
	public static void main(String args[]) throws Exception
	{	
		Scanner sc = new Scanner(System.in);
		
		int T = sc.nextInt();
		
		for(int t=1; t<=T; t++)
		{
			int N = sc.nextInt();
			long answer = 0;
			
			Stack<Integer> stack = new Stack<>();	
			
			//N개의 수 만큼 스택에 push
			for(int i=0; i<N; i++)
			{
				stack.push(sc.nextInt());
			}
			
			int max = 0;
			while(!stack.isEmpty())
			{
				int price = stack.pop();
				if(price <max)
				{
					answer +=max-price;
				}
				else
				{
					max = price;
				}
			}
			
			System.out.printf("#%d %d\n",t,answer);
			
		}
	}
}