set을 써서 중복 문자를 거르고, 배열로 담아 다시 set 을 사용하여 중복을 제거하는 문제이다
JSON.stringify 를 사용하면 참조가 달라도 값이 같으면 set 에서 중복으로 제거할수 있다는 점을 이용하였다
https://www.acmicpc.net/problem/13915
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"));
};
'개발 노트 > 백준, 프로그래머스 풀이' 카테고리의 다른 글
[백준 25192/javascript] 인사성 밝은 곰곰이 (0) | 2022.09.10 |
---|---|
[백준 25325/javascript] 학생 인기도 측정 (0) | 2022.09.09 |
[백준 11650/javascript] 좌표 정렬하기 (0) | 2022.09.07 |
[백준 11008/javascript] 복붙의 달인 (0) | 2022.09.06 |
[백준 11660/javascript] 구간 합 구하기 5 (0) | 2022.09.05 |
댓글