1. 백준 14425 node.js

const input = require("fs").readFileSync("/dev/stdin").toString().split(/\s/);

const n = +input[0];
const arr1 = input.slice(2, n + 2);
const arr2 = input.slice(n + 2);

const set = new Set(arr1.map((v) => v));

let answer = 0;

arr2.forEach((value => {
  if (set.has(value)) ++answer
}))

/* 아래 처럼 해도 되긴 하는데, 그럼 시간초과 난다
	arr2.forEach((value => {
  		if (arr1.includes(value)) ++answer
	}))
*/

console.log(answer)

Lesson Learned

  • Set / Map 등의 자료구조를 활용하면, array, object를 활용하는 것보다 더욱 빠르고 쉽게 값을 탐색할 수 있다
    • *** 근데 왜 Set / Map을 활용한 탐색 메서드가 더 빠른거지???? → 공부 필요!

+ Recent posts