[Programmers] 순위
Date:
[Programmers] 순위
Problem URL : 순위
#include <string>
#include <vector>
using namespace std;
bool ch[101][101];
int solution(int n, vector<vector<int>> results) {
int answer = 0;
for(auto x : results) {
ch[x[0]][x[1]] = true;
}
for(int k = 1; k <= n; k++){
for(int i = 1; i <= n; i++){
for(int j =1 ; j <= n; j++){
if(ch[i][k] && ch[k][j]) { // i가 k를 이기고, k가 j를 이겼으면
ch[i][j] = true; // i가 j를 이긴다.
}
}
}
}
for(int i = 1; i <= n; i++){
int cnt = 0;
for(int j = 1; j <= n; j++){
if(ch[i][j] || ch[j][i]) {
cnt++; //순위 비교가능
}
}
if(cnt == n-1) {
answer++; // n-1명과 순위를 비교 가능하면 순위를 매길 수 있다.
}
}
return answer;
}
댓글