본문 바로가기
프로그래머스

순위 C++

by paysmile 2022. 3. 24.

https://programmers.co.kr/learn/courses/30/lessons/49191

 

코딩테스트 연습 - 순위

5 [[4, 3], [4, 2], [3, 2], [1, 2], [2, 5]] 2

programmers.co.kr

#include <string>
#include <vector>
#include <cstring>

using namespace std;

int solution(int n, vector<vector<int>> results) {
	int answer = 0;

	int map[101][101];
	memset(map, -1, sizeof(map));

	for (int i = 0; i < results.size(); i++) {
		int win = results[i][0];
		int lose = results[i][1];

		map[win][lose] = 1;
	}

	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			if (map[i][j] == 1) {
				for (int k = 1; k <= n; k++) {
					if (map[k][i] == 1) {
						map[k][j] = 1;
					}
				}
			}
		}
	}

	for (int i = 1; i <= n; i++) {
		int count = 0;
		for (int j = 1; j <= n; j++) {
			if (map[i][j] == 1) count++;
			if (map[j][i] == 1) count++;
		}
		if (count == (n - 1))
			answer++;
	}
	return answer;
}

'프로그래머스' 카테고리의 다른 글

단속카메라 C++  (0) 2022.03.25
섬 연결하기 C++  (0) 2022.03.25
기지국 설치 C++  (0) 2022.03.24
사칙연산 C++  (0) 2022.03.22
단어 퍼즐 C++  (0) 2022.03.22