Hanbit the Developer

[Python] 2012번: 등수 매기기 본문

Algorithm/백준

[Python] 2012번: 등수 매기기

hanbikan 2021. 5. 28. 18:02

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

 

2012번: 등수 매기기

첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 500,000) 둘째 줄부터 N개의 줄에 걸쳐 각 사람의 예상 등수가 순서대로 주어진다. 예상 등수는 500,000 이하의 자연수이다.

www.acmicpc.net

import sys
input = sys.stdin.readline

N = int(input())
scores = sorted([int(input()) for _ in range(N)])

print(sum(abs(scores[i]-(i+1)) for i in range(N)))

등수의 중복이 없으므로, 내림차순으로 정렬하고, i에 대해 for문을 돌면서 scores[i]와 i+1의 차이를 합해주면 답이 된다.