점수 계산 2822

PublicMinsu·2022년 12월 14일
0

문제

접근 방법

점수로 정렬하고 번호로 한번 더 정렬하는 문제라고 생각했다.

코드

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
    vector<pair<int, int>> v;
    vector<int> v2;
    int sum = 0;
    for (int i = 0; i < 8; ++i)
    {
        int number;
        cin >> number;
        sum += number;
        v.push_back({number, i + 1});
    }
    sort(v.begin(), v.end());
    for (int i = 0; i < 8; ++i)
    {
        if (i <= 2)
        {
            sum -= v[i].first;
            if (i == 2)
                cout << sum << "\n";
        }
        else
            v2.push_back(v[i].second);
    }
    sort(v2.begin(), v2.end());
    for (int n : v2)
        cout << n << " ";
    return 0;
}

풀이

점수와 문제 번호를 pair로 엮어서 정렬하고 다시 문제 번호로 정렬하면 해결된다.

profile
연락 : publicminsu@naver.com

0개의 댓글