[JS로 푸는 백준] 1764. 듣보잡

이요섭·2022년 3월 13일
1

백준

목록 보기
6/7
post-thumbnail

접근법

Javascript ES6부터 지원되는 Set 객체를 사용하면 쉽게 풀 수 있는 문제다.

해쉬테이블 : Set()

  • Set 객체는 자료형에 관계 없이 원시 값과 객체 참조 모두 유일한 값을 저장할 수 있다. (중복방지)
  1. add(val)
    Set 컬렉션에 val값 추가

  2. delete(val)
    Set 컬렉션 내에 존재하는 val값 제거

  3. has(val)
    Set 컬렉션 내에 val의 존재유무 판단 true, false 반환.

  4. clear()
    Set 컬렉션 내에 모든 요소들 제거

풀이과정

const filePath = process.platform === 'linux' ? 'dev/stdin' : './input.txt';
const input = require('fs').readFileSync(filePath).toString().trim().split('\n');
const [N, M] = input.shift().split(' ').map(v=>+v);
const noHearSet = new Set();
const noSeeSet = new Set();
for (let i = 0; i < input.length; i++) {
    if (i < N) {
        noHearSet.add(input[i]);
    } else {
        noSeeSet.add(input[i]);
    }
}
let answer = [];
noSeeSet.forEach(v => {  // 그냥 예시에서 주어진 값 중에 길이가 긴 것을 비교대상으로 잡음.
    if (noHearSet.has(v)) answer.push(v);
});
console.log(answer.length + '\n' + answer.join('\n'));
profile
매일 새로운 것을 배우고 경험하는 프론트엔드 개발자입니다.

0개의 댓글

관련 채용 정보