💡문제접근
- 동준이가 레벨을 난이도 순으로 배치했는데 이 때, 실수로 쉬운 레벨이 어려운 레벨보다 점수를 많이 받는 경우를 만들었다. 문제를 해결하기 위해서 각 레벨을 클리어할 때 받을 수 있는 점수가 증가하게 만들어야 한다. 따라서 맨 뒷부분에서부터 인접한 원소의 대소를 비교해 특정 레벨의 점수를 감소시키는 횟수를 구해야 한다.
💡코드(메모리 : 30616KB, 시간 : 152ms)
N = int(input())
score = []
for _ in range(N):
score.append(int(input()))
index = len(score) - 1
cnt = 0
while True:
if index == 0:
break
if score[index] > score[index-1]:
index -= 1
else:
score[index-1] -= 1
cnt += 1
if score[index] > score[index-1]:
index -= 1
print(cnt)
💡소요시간 : 11m