

나의 풀이
let fs = require("fs");
let input = fs.readFileSync('예제.txt').toString().trim().split("\n");
const N = input.shift();
let meetFriends = [] ;
for(let i = 0; i < N ; i++){
let [a,b] = input[i].split(" ")
if(a == "ChongChong" || b == "ChongChong" ){
for(let j = i ; j < N; j ++){
meetFriends.push(input[j])
}
}
}
let arr = meetFriends.map(a=> a.split(" ")).flat();
let set = new Set(arr);
console.log(set.size)
결과는 실패 ...
set의 사용법이 미숙했던 터라 set를 그냥 배열의 중복을 제거하는 방식으로만 써서 코드가 지저분했다 .
그리고 만약 다음 줄이 총총이를 마주치지않은 두사람이라면 춤을 안출텐데 그냥 총총이를 만난시점의
다음 줄을 모두 추가해서 틀린 것 같다.
수정한 풀이
let fs = require("fs");
let input = fs.readFileSync('예제.txt').toString().trim().split("\n");
const N = input.shift();
let meetFriends = new Set();
meetFriends.add("ChongChong");
for(let i = 0; i < N ; i++){
let [a,b] = input[i].split(" ")
if(meetFriends.has(a) || meetFriends.has(b)){
meetFriends.add(a)
meetFriends.add(b)
}
}
console.log(meetFriends.size)
처음부터 Set 객체를 만들어 거기에 총총이를 추가하고 배열을 순환하면서 a,b중 총총이를 만난 인원이 있으면 set객체에 추가 ,
그리고 그 추가한 인원을 순환하며 set객체에 들어있는사람 , 즉 총총이를 만났던 사람이면 모두 추가하고 set의 size를 출력했다.
'알고리즘' 카테고리의 다른 글
[BOJ] 20920 - 영단어 암기는 괴로워(JS) (0) | 2024.10.11 |
---|---|
[BOJ] 2108 - 통계학 (JS) (1) | 2024.10.08 |
[BOJ] 25192 - 인사성 밝은 곰곰이(JS) (0) | 2024.10.04 |
[BOJ] 11050 - 이항계수1(JS) (0) | 2024.09.19 |
[BOJ]4949 - 균형잡힌 세상(JS) (0) | 2024.08.13 |