백준/Greedy

[백준] 2012번: 등수 매기기

ydin 2022. 2. 9. 21:29

-문제: https://www.acmicpc.net/problem/2012

엄청 쉬운 문제인데 다른 방법으로 생각해서 시간 오래걸린 문제.

너무 복잡하게 생각했나 간단한 방법이 답일 거라고 생각하지 못했다 그래서 개빡침

원리는 예상 등수를 오름차순 정렬해서 각각의 인덱스 차이값을 더해주면 된다 

 

7월 15일: 이전에 풀었을 때 아쉬웠던거 해결!!(단순하게 생각해서 금방 풂)

-정답풀이: 

n=int(input())
expect=[]
for _ in range(n):
    expect.append(int(input()))
expect.sort()
ans=0
for i in range(1,n+1):
    ans+=abs(i-expect[i-1])
print(ans)

-틀린풀이:

인덱스와 등수 같게 하고, actual에 넣는다. 

actual에 들어가지 못한 등수 들은 작은 것부터 0값인 인덱스에 넣어준다 

45%까지 진행되다가 계속 IndexError가 발생해서 이걸로 푸는 건 포기했다