Algorithm/C++ - BOJ

BAEKJOON - 7568 덩치 C++

ㅇㅇ잉 2021. 1. 19. 20:27

pair로 x와 y를 차례로 받고,

rank=1로 설정하여 x와 y가 모두 클 경우 rank를 하나씩 늘려가는 식으로 하여 코드를 짰다.

출력은 굳이 배열에 넣어서 하지 않아도 정답이더라.

 

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

int main() {
	int N, x, y;
	cin >> N;
	int arr[52];
	vector <pair<int,int>> v;
	
	for (int i = 0; i < N; i++) {
		cin >> x >> y;
		v.push_back({ x,y });
	}

	for (int i = 0; i < N; i++) {
		int rank = 1;
		for (int j = 0; j < N; j++) {
			if (v[i].first < v[j].first && v[i].second < v[j].second) {
				rank++;
			}
		}
		arr[i] = rank;
	}
	
	for (int i = 0; i < N; i++) {
		cout << arr[i]<< " ";
	}
	
	return 0;
}