https://programmers.co.kr/learn/courses/30/lessons/49191
#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 |