본문 바로가기

백준 문풀

[Python] 그리디- 2847. 게임을 만든 동준이(실4)

https://www.acmicpc.net/problem/2847

 

2847번: 게임을 만든 동준이

학교에서 그래픽스 수업을 들은 동준이는 수업시간에 들은 내용을 바탕으로 스마트폰 게임을 만들었다. 게임에는 총 N개의 레벨이 있고, 각 레벨을 클리어할 때 마다 점수가 주어진다. 플레이어

www.acmicpc.net

 

>>문제 포인트

: 뒤에서부터 score를 나열하여 하나씩 다음 행과 비교

: 만약 이전 레벨의 점수가 더 높다면 현재 점수-1로 초기화시킴 / 그 차이만큼을 count+

 

#2847

n= int(input())
score=[]
result=0

for i in range(n):
  num= int(input())
  score.append([i, num])
 
score=sorted(score,reverse=True)

for j in range(n-1):
  if score[j][1]<=score[j+1][1]:
    result+=(score[j+1][1]-(score[j][1]-1))
    score[j+1][1]= score[j][1]-1

print(result)