[백준/C++] 2012번 등수매기기

최대 1 분 소요

1.문제 링크

2012



2. 풀이 전 계획과 생각

  • 그리디 알고리즘으로 풀기



3. 풀이

#include<iostream>
#include<algorithm>
using namespace std;

int main(){
    int n; cin>>n;
    int *arr = new int[n];
    
    for(int i=0;i<n;i++) cin>>arr[i];
    
    sort(arr, arr+n);
    
    long long sum=0;
    for(int i=0;i<n;i++){
        sum+=abs(arr[i]-(i+1));
    }
    
    cout<<sum;
}
  1. 입력 벡터 오름차순 정렬.

  2. for문을 돌면서 ( A - B ) 계산



4. 풀이하면서 고민했던 점

  • 없음



5. 문제를 풀고 알게된 개념 및 소감

  • 그리디 알고리즘에 대한 이해도가 올라감.