[백준] 수강신청

Ocean·2023년 3월 1일
0

알고리즘 스터디 v2

목록 보기
2/17

https://www.acmicpc.net/problem/13414

🗝️ 풀이

const input = require("fs")
  .readFileSync("/dev/stdin")
  .toString()
  .trim()
  .split("\n");
const nums = input.map((v) => v.split(" "));
const k = nums[0].shift();
const l = nums[0].shift();
nums.shift();

let arr = []; //입력값이 저장되는 배열
for (let i = 0; i < l; i++) {
  arr.push(nums[i][0]);
}
// Map 자료형을 이용한 해시 선언
let hash = new Map();
arr.map((it) => {
  if (hash.has(it)) {
    hash.delete(it);
  }
  hash.set(it, 1);
});

let count = 0;
let answer = [];

hash.forEach((value, key) => {
  if (count < k) {
    answer.push(key);
    count++;
  }
});

console.log(answer.join("\n"));

아직도 입력이 너무 힘들다. 이 문제 입력은 다른 사람 풀이 참고해서 가져옴
아무것도 모르고 forEach 안에서 console.log 썼다가 시간 초과의 지옥에 빠졌다..... ㅠㅜㅜ
node.js에선 for문 안에 console.log를 하면 시간초과가 난다! 배열 등에 모아둔 다음에 한 줄에 출력해야함

profile
chick! chick!

0개의 댓글