1859 - 백만장자 프로젝트

박재현·2022년 2월 18일
0

알고리즘 부수기

목록 보기
38/43
post-thumbnail

문제 설명

링크

문제 풀이

규칙성을 찾는다.

  1. 전체 배열 요소 중 가장 큰 값이 매매 금액이 될 때까지 구매한 후 당일에 판다.
  2. 팔고 그다음 index부터 max 값을 찾고 1번 과정을 반복한다.

코드

T = int(input())
for tc in range(1, T+1):
    N = int(input())
    arr = list(map(int, input().split()))

    result = s = maxI = 0
    while s < N:
        maxI = s
        for i in range(s, N):
            if arr[maxI] < arr[i]:
                maxI = i
        for i in range(s, maxI):
            result += arr[maxI] - arr[i]
        s = maxI + 1
    print(f'#{tc} {result}')
profile
공동의 성장을 추구하는 개발자

0개의 댓글