백준, 1764 듣보잡 javascript

otter·2022년 2월 12일
0
post-custom-banner

백준, 1764 듣보잡

📖 https://www.acmicpc.net/problem/1764

👨‍💻 문제 풀이

  • 중복되지 않은 자료구조임에 착안하여 set으로 들어보지 못한 사람과 보지 못한사람을 나누어 만들었다.
  • set자료구조는 자바스크립트에서 집합처럼 사용하는데, 교집합을 이용해서 쉽게 구현했다.

💻 제출한 코드

const input = require('fs').readFileSync('example.txt').toString().trim().split('\n');

const [N, M] = input.shift().split(' ');

const Nset = new Set();
const Mset = new Set();
for(let i=0; i<input.length; i++) {
    if(i < N) {
        Nset.add(input[i]);
    } else {
        Mset.add(input[i]);
    }
}

let answer = [];
Mset.forEach((item) => {
    if(Nset.has(item)) answer.push(item);
})
answer.sort();
console.log(answer.length + '\n' + answer.join('\n'));

이번 문제를 풀면서,

  • set자료구조는 중복되지 않은 자료구조라서 편한점이 분명히 있는 것 같고, 속도도 빠르다.
  • set을 통한 교집합 말고 합집합이나, 차집합등도 구현해서 정리해보면 좋을 것 같다.
profile
http://otter-log.world 로 이사했어요!
post-custom-banner

0개의 댓글