โก๏ธ ๋ฌธ์ : ๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์
๐ซ ์ ์ถ
let [x, ...data] = require('fs').readFileSync(0).toString().trim().split('\n');
let [N, M] = x.split(' ').map(Number);
let n = new Map();
let reverseN = new Map();
let arr = data.splice(0, N);
for (let i = 0; i < N; i++) {
n.set(arr[i], i + 1);
reverseN.set(i + 1, arr[i]);
}
let m = data.slice(0, M);
let result = [];
for (let i = 0; i < M; i++) {
if (isNaN(m[i])) {
result.push(n.get(m[i]));
} else {
result.push(reverseN.get(parseInt(m[i])));
}
}
console.log(result.join("\n"));
๐ซ ๊ณผ์
์๋ฌด๋ฆฌ ์๊ฐํด๋ ์ด๋ป๊ฒ ๊ฐ์ผ๋ก ํค๋ฅผ ์ด๋ป๊ฒ ๊ฒ์ํ ์ง ๋ชจ๋ฅด๊ฒ ์ด์ ๊ตฌ๊ธ๋งํด๋ด๋ ์ดํด๊ฐ ์ ๊ฐ๋๋ฐ,,
1. n์ Map๊ฐ์ฒด๋ก ๋ง๋ค๋ฉด์ ๊ฐ์ด N์ ํค๊ฐ์ ๋ฆฌ๋ฒ์คํ reverseN์ ๋ง๋ค๊ฒ ๋๋ค.
2. ๊ทธ๋ ๊ฒ ํด์ ๊ฒ์ํ๋ผ๊ณ ์ค isNaN(m[i])์ด true๋ฉด ์ซ์๊ฐ ์๋๋ผ๋ ์๊ธฐ๋๊น n์์ ๊ฒ์ํ๋ฉด ๋๊ณ ,
console.log(isNaN(123)); // false (123์ ์ซ์)
console.log(isNaN('123')); // false ('123'์ ์ซ์๋ก ๋ณํ๋ ์ ์์)
3. false๋ฉด ์ซ์๋๊น reverseN์์ ์ซ์ํ์ผ๋ก ๋ง๋ m[i]๋ก ๊ฒ์ํ๋ฉด ๋๋ค.
'baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| ๋ฐฑ์ค_25206: ๋์ ํ์ ์ (node.js/JavaScript) (0) | 2024.07.31 |
|---|---|
| ๋ฐฑ์ค_1269: ๋์นญ ์ฐจ์งํฉ (node.js/JavaScript) (0) | 2024.07.31 |
| ๋ฐฑ์ค_7785: ํ์ฌ์ ์๋ ์ฌ๋ (node.js/JavaScript) (4) | 2024.07.24 |
| ๋ฐฑ์ค_14425: ๋ฌธ์์ด ์งํฉ (node.js/JavaScript) (1) | 2024.07.24 |
| ๋ฐฑ์ค_10815: ์ซ์ ์นด๋ (node.js/JavaScript) (3) | 2024.07.24 |
