728x90
반응형
https://www.acmicpc.net/problem/2012
1. Logic
자기가 예상한 등수랑 다르면 불만도가 생기기 때문에 자신의 예상 등수를 입력받은후 정렬한다.
테스트 케이스로 예를 들면
1 5 3 1 2 > 1 1 2 3 5
1 ~ 5등까지 나오기 때문에
작은것부터 숫자를 맞춰주면 된다.
코드를 보면 더 이해가 잘 갈것이다.
2. Code
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> vec;
int main()
{
ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
int n;
cin >> n;
for(int i = 0; i < n; i++) {
int a;
cin >> a;
vec.push_back(a);
}
sort(vec.begin(), vec.end());
long long ans = 0;
for(int i = 1; i <= n; i++) {
ans += abs(vec[i-1] - i);
}
cout << ans;
return 0;
}
3. Feedback
알고리즘 Solve 후 제가 생각한 Logic을 기록하는 개인 공부 블로그입니다.
내용 중 최적화가 가능한 부분등은 언제든지 댓글로 틀린 부분 및 피드백 주시면 공부 및 반영하겠습니다🧐
728x90
반응형
'Algorithm > Beakjoon' 카테고리의 다른 글
[백준/Baekjoon] 14891 톱니바퀴 C++ :: Implementation (0) | 2023.11.08 |
---|---|
[백준/Baekjoon] 2563 색종이 C++ :: Implementation (0) | 2023.11.07 |
[백준/Baekjoon] 1992 쿼드트리 C++ :: Divide and conquer (1) | 2023.11.04 |
[백준/Baekjoon] 1780 종이의 개수 C++ :: Divide and conquer (0) | 2023.11.04 |
[백준/Baekjoon] 4779 칸토어 집합 C++ :: Recursion & Divide and conquer (0) | 2023.11.04 |