[백준] 게임을 만든 동준이_2847번

[백준] 게임을 만든 동준이


문제


링크 : BOJ





풀이

가장 큰 수의 다음 값이 (큰 수 - 1)과의 차이를 누적해서 더해준다. 만약 다음 값이 이미 큰 수 -1 보다 작을 경우 비교하지 않는다.

  1. 가장 큰 값을 high로 지정
  2. data[i]가 high 보다 크거나 같으면 high = data[i]
    아니라면, 결과값 누적 result += data[i] - (high-1), high값 수정 high -= 1
n = int(input())
data = []
for _ in range(n):
    data.append(int(input()))
high = data[n-1]
result = 0
for  i in range(n-2, -1, -1):
    if data[i] < high:
        high = data[i]
    else:
        result += data[i]-(high-1)
        high -= 1
print(result)

실수했던 점


태그: ,

카테고리:

업데이트: