본문 바로가기

Algorithm/SWEA

[SWEA / python] 1859. 백만 장자 프로젝트

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5LrsUaDxcDFAXc&categoryId=AV5LrsUaDxcDFAXc&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=PYTHON&select-1=2&pageSize=10&pageIndex=1 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

문제를 푸는 핵심은 배열의 끝 요소부터 최대값으로 넣어 놓은 후 앞으로 가면서 비교하기

 

for 문 뒤부터 보기:

for 변수 in range(시작, 끝, 감소폭)

 

T = int(input())

for test_case in range(1, T + 1):
    D = int(input())
    case = list(map(int, input().split()))

    #리스트의 마지막 값을 최대값으로
    max = case[-1]
    result = 0

    #for문을 뒤부터 보기
    for i in range(len(case)-1,-1,-1):
        if(case[i]>=max):
            max = case[i]
        elif (case[i] < max):
            result = result + (max-case[i])

    print("#"+str(test_case)+" "+str(result))