문제링크
https://www.acmicpc.net/problem/18870
문제풀이
sort를 이용한 정렬, Set 객체를 이용한 중복제거 그리고 object key-value 구조를 이용하여 시간복잡도 최적화를 이용하여 문제를 풀 수 있었다. 별 어려움없이 클리어 완료!
let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");
let N = Number(input[0]);
let origin = input[1].split(" ").map((n) => Number(n));
let arr = [...origin];
arr.sort((a, b) => a - b);
// 중복제거
let set = new Set(arr);
let map = {};
[...set].forEach((item, i) => {
map[item] = i;
});
let answer = "";
origin.forEach((n) => {
answer += `${map[n]} `;
});
console.log(answer.trim());
'🔒Algorithm' 카테고리의 다른 글
백준[JS] > 1764번 듣보잡 (0) | 2025.01.23 |
---|---|
백준[JS] > 1238번 파티 (0) | 2025.01.21 |
백준[JS] > 1620번 나는야 포켓몬 마스터 이다솜 (0) | 2025.01.13 |
백준[JS] > 7762번 이중 우선순위 큐 (0) | 2025.01.12 |
백준[node.js] > 1931번 (0) | 2025.01.09 |