PS/백준
[Python] 2012번 등수 매기기
s_omi
2024. 7. 19. 09:42
✏️ 문제
문제 파악
문제 그대로 불만도를 최소를 하기 위해선 본인이 원하는 등수와 많이 차이나면 안되므로 차례대로 정렬해준다.
그 후 예상 등수와 실제 등수를 빼서 절댓값을 불만도에 더해주면 된다.
이때 그냥 input()을 쓴 상태로 하면 시간 초과가 뜨므로 sys input()을 쓰든가 언어를 python3 대신 pypy3를 쓰면 같은 코드라도 통과된다!!
알고리즘
- 그리디 알고리즘
- 정렬
코드
import sys
input = sys.stdin.readline
n = int(input())
ary = []
dis = 0
for i in range(n):
ary.append(int(input()))
ary.sort()
for i in range(n):
if ary[i] != i+1:
dis += abs(ary[i] - (i+1))
print(dis)