문제: 11501번 주식

Sungmin·2023년 3월 20일
0

https://www.acmicpc.net/problem/11501


Solution

T = int(input())
for _ in range(T):
    N = int(input())
    stock = list(map(int, input().split()))
    stock.reverse()

    max = stock[0]
    sum = 0

    for i in range(1, N):
        if max < stock[i]:
            max = stock[i]
        sum += max - stock[i]
    print(sum)

배운점

첫 날부터 그 다음날을 하나씩 비교하려면 마지막 날까지 비교해야 되기 때문에 굉장히 복잡해 진다. 그래서 마지막날 부터 역순으로 반복하면서 다음날과 차이를 비교하고
그 다음날이 더 크면 값을 교체해 가면서 진행하였다.
역순으로 반복문을 풀이하면 헷갈릴 수 있기 때문에 reverse함수를 사용하여 초기값을 역순으로 저장하였다.

profile
Let's Coding

0개의 댓글