컴퓨터를 공부하고자 마음먹은지 N일차
[211일차]boj1966 nodejs 본문
728x90
백준 1966번 프린터큐
CODE
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); const input = []; rl.on("line", function (line) { input.push(line); }).on("close", function () { input.shift(); for (let i = 0; i < input.length; i += 2) { const [n, m] = input[i].split(" ").map((_) => +_); const printList = input[i + 1].split(" ").map((_) => +_); const idx = []; for (let i = 1; i <= printList.length; i++) { idx.push(i); } idx[m] = "target"; let order = 0; while (true) { if (printList[0] === Math.max(...printList)) { order++; if (idx[0] === "target") { console.log(order); break; } else { printList.shift(); idx.shift(); } } else { printList.push(printList.shift()); idx.push(idx.shift()); } } } process.exit(); }); | cs |
description
프린트 큐를 저장하는 배열의 인덱스는 뒤죽박죽이 된다.
그래서 idx라는 기존 종이의 인덱스를 저장하는 공간이 필요하다.
몇번만에 출력을 하는지 나타내는 order라는 변수와,
기존의 종이 순서를 가지고있는 idx배열의 관리, 그리고
우선순위가 가장 높은 수가 큐의 탑이라면 order를 올려주는게 핵심이다.
'🧠PS' 카테고리의 다른 글
[220일차]boj 2164 nodejs(연결리스트 응용문제) (0) | 2021.04.21 |
---|---|
[216일차]boj 2108 nodejs (0) | 2021.04.17 |
[206일차]boj1929 nodejs (0) | 2021.04.07 |
[205일차]boj1920 node.js (0) | 2021.04.06 |
[200일차]boj1654 node.js (0) | 2021.04.03 |
Comments