중앙 노드를 구할 땐 가장 많은 간선이 연결된 노드가 중앙 노드라고는 당연히 생각했는데..
성형 그래프에선 두개 이상의 간선이 연결된 그래프는 중앙 그래프라는 것을 망각했다..
내 풀이
function findCenter(edges: number[][]): number {
const edgeCountArr = [0]
for(const [to, from] of edges) {
edgeCountArr[to] = (edgeCountArr[to] ?? 0) + 1
edgeCountArr[from] = (edgeCountArr[from] ?? 0) + 1
}
// 연결된 간선이 가장 많은 최빈값이 중앙 노드
return edgeCountArr.indexOf(Math.max(...edgeCountArr))
};
뛰어난 풀이
function findCenter(edges: number[][]): number {
const s = new Set();
for (const e of edges) {
if (s.has(e[0])) return e[0];
if (s.has(e[1])) return e[1];
s.add(e[0]);
s.add(e[1]);
}
};