본문 바로가기
개발 노트/백준, 프로그래머스 풀이

[백준 13915/javascript] 현수의 열기구 교실

by tokkiC 2022. 9. 9.

set을 써서 중복 문자를 거르고, 배열로 담아 다시 set 을 사용하여 중복을 제거하는 문제이다

JSON.stringify 를 사용하면 참조가 달라도 값이 같으면 set 에서 중복으로 제거할수 있다는 점을 이용하였다

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

 

13915번: 현수의 열기구 교실

현수는 열기구 여름특강의 강사다. 현수는 매우 성실해서 모든 수강생들의 열기구 비행을 기록하고있다. 매 비행 이후, 현수는 그 비행에 참석한 수강생들의 기록을 리스트에 추가한다. 리스트

www.acmicpc.net

let input = [];

const readline = require("readline").createInterface({
  input: process.stdin,
  output: process.stdout,
});

readline.on("line", (line) => {
  input.push(line);
});

readline.on("close", () => {
  solution(input);
  process.exit();
});

const solution = (inp) => {
  let ans = [];
  while (inp.length !== 0) {
    let n = Number(inp.shift());
    let ntemp = new Set();
    for (let i = 0; i < n; i++) {
      let temp = [];
      for (el of inp.shift()) {
        temp.push(el);
      }
      temp.sort();
      let inset = new Set();
      for (el of temp) {
        inset.add(el);
      }
      ntemp.add(JSON.stringify(Array.from(inset)));
    }
    ans.push(ntemp.size);
  }
  console.log(ans.join("\n"));
};

댓글