문제
https://www.acmicpc.net/problem/1966
풀이
배열자체를 변형시키기 보단 바라보는 idx를 증가시키면서 배열을 순회했다.
어려움 없이 풀 수 있었다.
const fs = require("fs");
const input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");
let [caseCnt, ...caseArr] = input;
caseCnt = +caseCnt;
for (let i = 0; i < caseArr.length; i += 2) {
let [docCnt, targetIdx] = caseArr[i].split(" ").map(Number);
let arr = caseArr[i + 1].split(" ").map((num) => Number(num));
let max = Math.max(...arr);
let answer = 1;
let idx = 0;
while (1) {
if (arr[idx] !== -1 && arr[idx] >= max) {
if (idx === targetIdx) {
console.log(answer);
break;
}
arr[idx] = -1;
max = Math.max(...arr);
++answer;
}
++idx;
idx = idx % docCnt;
}
}
'🔒Algorithm' 카테고리의 다른 글
백준[node.js] > 9095번 1, 2, 3 더하기 (0) | 2024.11.23 |
---|---|
백준[node.js] > 15650번 제출 (0) | 2024.11.21 |
백준 [nodejs] > 1629번 곱셈 (0) | 2024.11.17 |
백준 [node.js] > 1916번 최소 비용 구하기 (1) | 2024.11.16 |
백준[node.js] > 11660번 구간 합 구하기5 (0) | 2024.11.14 |