문제를 푸는 핵심은 배열의 끝 요소부터 최대값으로 넣어 놓은 후 앞으로 가면서 비교하기
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))
'Algorithm > SWEA' 카테고리의 다른 글
[SWEA / python] 1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기 (0) | 2023.05.20 |
---|---|
[SWEA / python] 1984. 중간 평균값 구하기 (0) | 2023.05.20 |
[SWEA / python] 1545. 거꾸로 출력해 보아요 (0) | 2023.05.11 |
[SWEA / python] 2027. 대각선 출력하기 (0) | 2023.05.11 |
[SWEA / python] 2043. 서랍의 비밀번호 (0) | 2023.05.11 |