프로그래머스
순위 C++
paysmile
2022. 3. 24. 22:41
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;
}