Algorithm

백준 1620 (nodejs)

Sila 2023. 10. 24. 00:02

https://www.acmicpc.net/problem/1620

 

let input = require("fs")
        .readFileSync("/dev/stdin")
        .toString()
        .trim()
        .split("\n");

let [M, N] = input[0].split(" ").map(Number);

let q = new Map();

for (let i = 1; i < input.length - N; i++) {
        q.set(i, input[i]);
}

// 일단 임의로 k - v가 q와 반대인걸 하나 만들어서 썻는데..
// 이것도 그닥 좋아보이는 방법은 아닌 것 같다.
let q2 = new Map();

for (let i = 1; i < input.length - N; i++) {
        q2.set(input[i], i);
}

let ans = "";

for (let i = M + 1; i < input.length; i++) {
        if (input[i][0].charCodeAt() >= 48 && input[i][0].charCodeAt() <= 57) {
                ans += q.get(Number(input[i])) + "\n";
        } else {
                ans += q2.get(input[i]) + "\n";
        }
}

console.log(ans);

// map을 사용할 수 있는지 묻는 문제..
// map에 대한 기본적인 사항들을 공부하고 풀면 될 것 같다.

'Algorithm' 카테고리의 다른 글

백준 7785 (nodejs)  (0) 2023.10.23
백준 14425 (nodejs)  (1) 2023.10.23
[nodejs] for  (0) 2023.08.22
Study - Array vs. Map/Set  (0) 2023.08.17
Study - Set  (0) 2023.08.17