[백준] 11866번: 요세푸스 문제 0 (JavaScript, node.js)
https://www.acmicpc.net/problem/11866
const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : __dirname + '/input.txt';
const input = fs.readFileSync(filePath).toString().trim().split(' ');
let num = []; //num 배열 생성
input.forEach((e)=>{ //입력값 각각 Number로 변환하여 배열 생성
num.push(Number(e));
})
let arr = []; //arr배열 생성
for(let i = 1; i <= num[0]; i++){ //1~N값 넣어주기
arr.push(i);
}
let result = "<";
for (let j = 0; j < num[0]; j++) {
let i = num[1] - 1;
while (i-- > 0) { //K까지
let tmp = arr.shift(); //저장했다가
arr.push(tmp); //다시 넣어주기
}
result += arr.shift(); //i = 0일 때 - 즉 K번째 일때 삭제 후 result에 값 넣어주기
if(arr.length == 0) //다 빼줬으면
result += ">";
else
result += ", ";
}
console.log(result);
* 주석 없는 코드
더보기
const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : __dirname + '/input.txt';
const input = fs.readFileSync(filePath).toString().trim().split(' ');
let num = [];
input.forEach((e)=>{
num.push(Number(e));
})
let arr = [];
for(let i = 1; i <= num[0]; i++){
arr.push(i);
}
let result = "<";
for (let j = 0; j < num[0]; j++) {
let i = num[1] - 1;
while (i-- > 0) {
let tmp = arr.shift();
arr.push(tmp);
}
result += arr.shift();
if(arr.length == 0)
result += ">";
else
result += ", ";
}
console.log(result);
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 1934번: 최소공배수 (JavaScript, node.js) (0) | 2024.05.27 |
---|---|
[백준] 11279번: 최대 힙 (JavaScript, node.js) (0) | 2023.06.05 |
[백준] 1021번: 회전하는 큐 (JavaScript, node.js) (0) | 2023.05.30 |