문제링크
1620번: 나는야 포켓몬 마스터 이다솜
첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면
www.acmicpc.net
문제풀이
2021.08.02 - [알고리즘 공부/hashmap , 자료구조] - 백준 1620번 with Kotlin # hash 맵 과 list 동시에 사용
백준 1620번 with Kotlin # hash 맵 과 list 동시에 사용
입력 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지?
ehddud100677.tistory.com
이전에 한번 풀어봤던 문제입니다. 그냥 객체의 key value로 접근하거나 Map을 사용할줄 아는가를 묻는 개념문제였습니다.
const fs = require("fs");
BOJkey = 0;
let input = fs
.readFileSync(BOJkey ? "./자바스크립트로/1620/input.txt" : "./dev/stdin")
.toString()
.trim()
.split("\n");
let [num, problemNum] = input[0].split(" ").map((v) => +v);
let dicName = {};
let dicNumber = {};
for (let i = 1; i <= num; i++) {
dicName[input[i]] = i;
dicNumber[i] = input[i];
}
let result = "";
for (let i = num + 1; i <= num + problemNum; i++) {
if (/[0-9]/.test(input[i])) {
result += dicNumber[input[i]] + "\n";
} else {
result += dicName[input[i]] + "\n";
}
}
console.log(result);
객체의 key-value로 푼 것과 Map으로 푼것의 속도를 비교해봤는데
Map을 사용한게 조금이나마 더 빠르다.

'공부기록 > 자바스크립트 코딩테스트' 카테고리의 다른 글
[백준/Python] 7662 우선순위 큐 (0) | 2022.07.02 |
---|---|
[백준/JS] 14425 문자열집합 (0) | 2022.07.02 |
[백준/JS] 1918 후위표기식 (0) | 2022.07.01 |
[백준/JS] 2493 탑 (0) | 2022.07.01 |
[백준/JS] 2800 괄호제거 (0) | 2022.06.30 |