https://www.acmicpc.net/problem/2012
실제 등수가 A인데 B로 예상한 만큼 abs(A-B)만큼으로 불만도 수치화.
불만도의 합을 최소로 하는 프로그램을 작성하시오.
import sys
def solve(N, rankings):
rankings = sorted(rankings)
basic = list(range(1,N+1))
ans = 0
for i in range(N):
ans += abs(basic[i]-rankings[i])
return ans
if __name__ == '__main__':
N = int(input())
rankings = []
for i in range(N):
rankings.append(int(sys.stdin.readline()))
ans = solve(N,rankings)
print(ans)
'공부하는 것들 > 알고리즘' 카테고리의 다른 글
백준 3061번: 사다리 (0) | 2021.09.13 |
---|---|
백준 2872번 : 우리집엔 도서관이 있어(그리디) *** (0) | 2021.09.12 |
백준 1448번 : 삼각형 만들기 (그리디)** (0) | 2021.09.12 |
백준 20363번 : 당근 키우기(그리디) (0) | 2021.08.23 |
백준 20937번: 떡국(그리디) (0) | 2021.08.22 |