[BOJ]백준#17939 Silver 1 Gazzzua🕺🚎 (Python, 파이썬)

임준성·2022년 6월 6일
0

백준 Algorithm

목록 보기
24/59
post-thumbnail

백준 17939번
https://www.acmicpc.net/problem/17939


문제



후기

⏰ 풀이시간 10분 ++⏰

최근에 풀었던 '주식' 문제와 사실상 똑같은 문제다.

https://velog.io/@jsbryan/BOJ%EB%B0%B1%EC%A4%8011501-Silver-2-%EC%A3%BC%EC%8B%9D
(주식문제 링크)

Bottom-Up 방식이 아닌 Top-down 형식으로 풀면 굉장히 쉽게 풀리는 문제다.

리스트를 뒤집은 다음, max에 저장된 값보다 큰 값이 나오면 max 값을 갱신하고,

그렇지 않으면 max - i만큼의 값을 result 에 더하면 쉽게 해결할 수 있다.

나의 풀이

import sys

input = sys.stdin.readline

N = int(input())

li = (list(map(int,input().split())))

li.reverse() #뒤집고 

max_li = li[0] #최대값 설정 

result = 0 #결과값 

for i in li: #리스트를 돌면서 

    if i> max_li: #최대값 갱신 

        max_li = i
    
    else:

        result += (max_li) - i #차이만큼 result에 더한다.

print(result)
profile
아무띵크 있이

0개의 댓글