알고리즘 풀이/백준

[7568] 백준 : 덩치(C++)

데롱디롱 2020. 4. 27. 19:59
728x90

 

* 접근한 방법
- 자신보다 키와 몸무게가 큰 사람 수 : k, 자신의 덩치등수 : k+1
- people 2차원 벡터에 몸무게와 키를 넣어두고 loop에서 자신의 몸무게와 키보다 큰 사람 수(k)를 세고 bigger에 넣음

 

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

int main() {
	int N;
	cin >> N;;
	vector<pair<int, int>> people;
	vector<int> bigger;

	// N명의 키와 몸무게 입력 받기
	for (int i = 0; i < N; i++)
	{
		int height, weight;
		cin >> weight >> height;
		people.push_back(make_pair(weight, height));
	}

	// 자신보다 키&몸무게 큰 사람 수 세기
	for (int i = 0; i < N; i++)
	{
		int k = 0;
		for (int j = 0; j < N; j++)
		{
			if (people[i].first < people[j].first &&
				people[i].second < people[j].second)
				k++;
		}
		bigger.push_back(k + 1);
	}

	// N명의 덩치등수 출력
	for (int i = 0; i < N; i++)
		cout << bigger[i] << " ";
}