조건의 연산이 많으므로 최대한 간단하게 만들어서 비교해야 하는문제이다
enter leave 의 체크도 연산 낭비이니
객체로 카운트하여 변하였다면 나간것으로 보면 된다
비교시에도 0과 비교하는 것이 빠르므로 0인지를 확인하도록 한다
https://www.acmicpc.net/problem/7785
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) => {
const n = Number(inp[0]);
const employees = {};
let inplen = inp.length;
for (let i = 1; i < inplen; i++) {
let [name, state] = inp[i].split(" ");
if (employees[name]) {
employees[name] = 0;
// console.log("plus!");
} else {
employees[name] = -1;
}
}
let ks = Object.keys(employees);
let ans = ks.filter((k) => (employees[k] ? true : false));
ans.sort().reverse();
console.log(ans.join("\n"));
// console.log(employees);
};
'개발 노트 > 백준, 프로그래머스 풀이' 카테고리의 다른 글
[백준 14916/javascript] 거스름돈 (0) | 2022.10.30 |
---|---|
[백준 2503/javascript] 숫자 야구 (0) | 2022.10.29 |
[백준 4963/javascript] 섬의 개수 (0) | 2022.10.28 |
[백준 1012/javascript] 유기농 배추 (0) | 2022.10.26 |
[백준 1049/javascript] 기타줄 (0) | 2022.10.26 |
댓글