[Codility] 9.2 MaxProfit

joon_1592·2021년 2월 11일
0

Codility

목록 보기
7/22
post-custom-banner

MaxProfit
배열 A과, 0PQ<N0 \leq P \leq Q <N에 대하여, A[Q]-A[P]가 0 이상이면 profit, 음수이면 loss이다.
직관적으로 가장 큰 수에서 가장 작은 수를 빼면 된다.
반복문을 돌면서 가장 작은 수를 업데이트하고, 현재 수에서 뺀 값을 profit으로 한다.

def solution(A):
    if len(A) == 0 or len(A) == 1:
        return 0
    
    profit = 0
    min_x = A[0]
    for i in range(len(A)):
        if min_x > A[i]:
            min_x = A[i]
        else:
            profit = max(profit, A[i] - min_x)    
    
    return profit

profile
공부용 벨로그
post-custom-banner

0개의 댓글