[백준] -1790 수 이어 쓰기 (node.js)

밀루·2025년 3월 27일
0

BOJ

목록 보기
75/82

문제링크

코드

const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
const [nk] = fs.readFileSync(filePath).toString().trim().split("\n");

let [n, k] = nk.split(" ").map(Number);

let answer = 0;
let digit = 1;
let nine = 9;

while (k > nine * digit) {
  k -= digit * nine;
  answer += nine;

  nine = nine * 10;
  digit++;
}

answer = answer + 1 + ~~((k - 1) / digit);

if (answer > n) console.log(-1);
else console.log(answer.toString()[(k - 1) % digit]);

완전 수학/구현이었는데 이런 로직을 생각해내기 조금 어려웠던 거 같다.

profile
이밀루의 도전

0개의 댓글