[백준] 게임을 만든 동준이_2847번
[백준] 게임을 만든 동준이
문제
링크 : BOJ
풀이
가장 큰 수의 다음 값이 (큰 수 - 1)과의 차이를 누적해서 더해준다. 만약 다음 값이 이미 큰 수 -1 보다 작을 경우 비교하지 않는다.
- 가장 큰 값을 high로 지정
- 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)