✏️ 문제
문제 파악
문제 그대로 불만도를 최소를 하기 위해선 본인이 원하는 등수와 많이 차이나면 안되므로 차례대로 정렬해준다.
그 후 예상 등수와 실제 등수를 빼서 절댓값을 불만도에 더해주면 된다.
이때 그냥 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)
'PS > 백준' 카테고리의 다른 글
[Python] 2828번 사과 담기 게임 (0) | 2024.07.19 |
---|---|
[Python] 19941번 햄버거 분배 (0) | 2024.07.19 |
[Python] 15904번 UCPC는 무엇의 약자일까? (2) | 2024.07.19 |
[Python] 16435번 스네이크버드 (0) | 2024.07.17 |
[Python] 1417번 국회의원 선거 (0) | 2024.07.17 |