https://www.acmicpc.net/problem/11724
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
let n = Number(input[0].split(" ")[0]);
let numbers = [];
for(var i=1; i<input.length; i++) {
if (input[i] != ''){
numbers.push(input[i].split(" ").map((n) => Number(n)));
}
}
let input_arr = Array.from(Array(n), () => Array(n).fill(0));
for(var i=0; i<numbers.length; i++) {
input_arr[numbers[i][0] - 1][numbers[i][1] - 1] = 1;
input_arr[numbers[i][1] - 1][numbers[i][0] - 1] = 1;
}
let visited = new Array(n).fill(false);
let ans = 0;
function dfs(num) {
visited[num] = true;
for(var k=0; k<n; k++) {
if (!visited[k] && input_arr[num][k] == 1) {
dfs(k);
}
}
}
for(var i=0; i<n; i++) {
if (!visited[i]){
ans++;
dfs(i);
}
}
console.log(ans)
아니... input[i] != '' 이 조건 안 붙여주니까 typeerror 났다.
거참
허
그래 내가 잘못했다.