현제의 현재이야기

[백준/python] 11501 - 주식 다국어 본문

algorithm

[백준/python] 11501 - 주식 다국어

현재의 현제 2022. 6. 25. 15:24
def profit(n ,a):
    maxi = max(a)
    profit = 0
    for _ in range(n):
        if a[0] != maxi:
            profit += maxi - a[0]
            a.pop(0)
        elif a[0] == maxi:
            a.pop(0)
            if len(a) != 0:
                maxi = max(a)
    print(profit)

t = int(input())
for _ in range(t):
    n = int(input())
    a = list(map(int, input().split()))
    profit(n, a)

 

>> 시간초과

 

t = int(input())
for _ in range(t):
    n = int(input())
    a = list(map(int, input().split()))
    maxi = 0
    profit = 0
    for i in range(n - 1, -1, -1):
        if a[i] > maxi:
            maxi = a[i]
        else:
            profit += maxi - a[i]
    print(profit)​

반복문을 거꾸로 하면 편리하다. 

 

 

 

Comments