[백준 18870] 냅다 시작 - 좌표 압축

김민지·2023년 3월 20일
0

냅다 시작 백준

목록 보기
28/118

[백준 10814] 정렬 12단계. 좌표 압축

✨ 문제 ✨

✨ 정답 ✨

const { json } = require("express/lib/response");
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./예제.txt";
let input = fs.readFileSync(filePath).toString().trim().split('\n');
// const input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n')
// const line = require("fs").readFileSync("/dev/stdin", "utf8");
// let input = line.trim().split("\n"); 

// 아래는 삽질하다가 실패한 부분이다.

// let N = parseInt(input[0].trim());
// input = input[1].split(' ').map((e) => parseInt(e.trim()))
// let array = [];
// array = [...input]
// array = array.sort()
// let answer = [];


// for (let i = 0; i < N; i++) {
//     let count = 0;
//     for (let j = 0; j < N; j++) {
//         if (input[i] > array[j]) {
//             count++;
//         }
//     }
//     answer.push(count)
// }
// console.log(answer)
const N = input.shift();

const setArr = input[0].split(' ').map(Number).sort((a,b)=>a-b);
const set = new Set(setArr);
const map = new Map();

[...set].forEach((item, index) => {
    map.set(item, index);
})

let answer = '';
input[0].split(' ').forEach((item, index) => {
   answer += map.get(+item) + ' ';
})

console.log(answer);
profile
이건 대체 어떻게 만든 거지?

0개의 댓글