Programing/백준, 프로그래머스(C++)

[C++][백준 7568] 덩치

hye3193 2025. 1. 9. 13:44

https://www.acmicpc.net/problem/7568

 

제출 코드

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

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);

    int n;
    int repeat = 1;
    vector<pair<int, int>> v;
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        pair<int, int> p;
        cin >> p.first >> p.second;
        v.push_back(p);
    }

    for (int i = 0; i < n; i++)
    {
        int grade = 1;
        for (int j = 0; j < n; j++)
        {
            if (i == j) continue;
            if (v[i].first < v[j].first && v[i].second < v[j].second)
                grade++;
        }
        cout << grade << " ";
    }
}

n의 최댓값이 50이기 때문에 매번 모든 사람과 비교해서 등수를 매기는 것이 가능하다고 판단했다

grade를 1로 초기화해주고 벡터 내 모든 요소들과 비교해서 덩치로 진 경우 grade에 1씩 더해주었다