코딩테스트/BOJ

[백준][그리디] 11501. 주식

박소민 2024. 7. 4. 14:44
11501. 주식

 

 

 

  • 풀이
    • 뒤에서부터 체크하면서 제일 큰값을 구해두고
    • 그보다 작은값들은 다 그때 판다고 생각하고 계산
    • 큰값이 나오면 제일 큰값 업데이트하고 그 이전값들은 새로운 큰값에서 판다고 생각
T = int(input())

for t in range(T):

    N = int(input())
    price = list(map(int, input().split()))

    money = 0 

    maxPrice = 0 
    for i in range(len(price)-1, -1, -1):
        if price[i] > maxPrice:
            maxPrice = price[i]
        else: # 최대 가격보다 작다면 계산
            money += maxPrice - price[i]
    
    print(money)