공부/백준(C++) - 2022~

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

상연 2022. 1. 25. 20:19

목차

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

     

    7568번: 덩치

    우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩

    www.acmicpc.net

    코드

    #include <iostream>
    #include <vector>
    using namespace std;
    
    
    
    int main() 
    {
    	vector<pair<int, int>> people;
    	vector<int> rank;
    	int w, h, n;
    	cin >> n;
    	//init
    	for(int i=0; i<n; i++)
    	{
    		cin >> w >> h;
    		people.push_back(pair<int, int>(w, h));
    		rank.push_back(1);
    	}
    	int l = people.size();
    	
    	for(int i=0; i<l; i++)
    	{
    		for(int j=i+1; j < l; j++)
    		{
    			if(people[i].first > people[j].first && people[i].second > people[j].second)
    			{
    				rank[j]++;
    			}
    			if(people[i].first < people[j].first && people[i].second < people[j].second)
    			{
    				rank[i]++;
    			}
    		}
    	}
    	
    	for(int i=0; i<l; i++)
    	{
    		cout << rank[i] << endl;;
    	}
    	
    	
    	
    	
    }

     

    설명

    이중 반복문을 사용해서 덩치가 더 큰 인덱스가 있는경우 등수에 +1 해준다.