Coding Test/Practice
백준 18870번 좌표 압축 JavaScript 풀이
yunicornlab
2024. 7. 20. 17:44
반응형
백준 18870번 좌표 압축 문제를 자바스크립트로 풀어보았다.
https://www.acmicpc.net/problem/18870
실패
처음 작성한 코드인데, 시간 초과로 실패ㅠ
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(Number);
let sorted = input[1].split(' ').map(Number).sort((a, b) => a - b);
let answer = "";
for (let i=0; i<n; i++) {
answer += sorted.indexOf(origin[i]) + " "
};
console.log(answer)
성공
다시 작성해서 통과한 코드다.
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(Number);
let sorted = [...new Set(origin)].sort((a, b) => a - b);
let sortedObj = {};
for (let i=0; i<sorted.length; i++) {
sortedObj[sorted[i]] = i;
}
let answer = "";
for (let i=0; i<n; i++) {
answer += sortedObj[origin[i]] + " ";
}
console.log(answer)
반응형