다윤 풀이
const filePath = process.platform === "linux" ? "/dev/stdin" : "input.txt"; let [NM, ...inputs] = require("fs") .readFileSync(filePath) .toString() .trim() .split("\n"); const [N, M] = NM.split(" ").map((a) => +a); const cases = Array.from({ length: N + 1 }, () => Array(N + 1).fill(false)); let count = 0; inputs.forEach((input) => { const [a, b] = input.split(" ").map((a) => +a); cases[a][b] = true; cases[b][a] = true; }); for (let i = 1; i <= N; i++) { for (let j = i + 1; j <= N; j++) { if (cases[i][j]) continue; for (let k = j + 1; k <= N; k++) { if (cases[i][k] || cases[j][k]) continue; count++; } } } console.log(count);
민수 풀이
재현 풀이
송희 풀이
승민 풀이
let fs = require('fs'); //const inputs = fs.readFileSync('/dev/stdin').toString().split('\n'); const inputs = fs.readFileSync(__dirname + '/ex2.txt').toString().split('\n'); const [n, m] = inputs[0].split(' ').map(Number) let l1 = Array.from(Array(n + 1), () => Array(n + 1).fill(false)) for (let i = 0; i < m; i++) { const [n1, n2] = inputs[i + 1].split(' ').map(Number) l1[n1][n2] = true l1[n2][n1] = true } let cnt = 0; for (let i = 1; i <= n; i++) { for (let j = i + 1; j <= n; j++) { if (l1[i][j]) continue for (let k = j + 1; k <= n; k++) { if (l1[j][k] || l1[i][k]) continue cnt++; } } } console.log(cnt)