t = int(input())
for tc in range(t) :
n = int(input())
prices = list(map(int, input().split()))
ans = 0
max = 0
for i in range(n-1,-1,-1) :
if prices[i] > max :
max = prices[i]
ans += max - prices[i]
print("#" + str(tc+1), ans)
리스트의 앞에서부터가 아니라 뒤에서부터 탐색을 하면 간단하게 풀 수 있다.
뒤에서부터 앞으로 하나씩 가며 최댓값을 갱신해주고, 해당 최댓값과 현재값과의 차이를 누적하면 결과가 나온다.
'PS > SWEA' 카테고리의 다른 글
[SWEA] 1989.py : 초심자의 회문 검사 (0) | 2020.07.15 |
---|---|
[SWEA] 2001.py : 파리 퇴치 (0) | 2020.07.14 |
[SWEA] 2005.py : 파스칼의 삼각형 (0) | 2020.07.13 |
[SWEA] 2007.py : 패턴 마디의 길이 (0) | 2020.07.12 |
[SWEA] 1926.py : 간단한 369게임 (0) | 2020.07.12 |