๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ”‘ ์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฐฑ์ค€ JS

[๋ฐฑ์ค€] node.js/ 1748_ ์ˆ˜ ์ด์–ด์“ฐ๊ธฐ(1)

by Tamii 2021. 10. 22.
๋ฐ˜์‘ํ˜•

 

 

๋‚ดํ’€์ด

const fs = require('fs');

let input = (fs.readFileSync('./dev/stdin') + '').toString().trim();
const lenInput = input.length;
let cnt = 0;

// 1     2      3
// 10-1 100-10 + 120-(100-1)
for (let i = 1; i <= lenInput; i++) {
  if (i === lenInput) {
    let curCnt = (parseInt(input) - (10 ** (i - 1) - 1)) * i;

    cnt += curCnt;
  } else {
    let curCnt = (10 ** i - 10 ** (i - 1)) * i;
    cnt += curCnt;
  }
}

console.log(cnt);

์ž๋ฆฟ์ˆ˜๋ณ„๋กœ ์ƒ๊ฐํ•ด๋ณด๋‹ค๊ฐ€ ๊ณต์‹์œผ๋กœ ํ•ด๊ฒฐ์ด ๋˜๋Š” ๋ฌธ์ œ ๊ฐ™์•„์„œ ๊ณต์‹์„ ์ด์šฉํ•ด ํ’€์ด

 

 

๋‹ค๋ฅธ ํ’€์ด

 

let cnt = 0;
for (let i = 1; i <= N; i *= 10) {
    cnt += N - i + 1;
}

console.log(cnt);

ํ•˜.. ํ•œ์ค„์— ๋๋‚˜๋Š”๊ตฌ๋‚˜...

์• ์ดˆ์— for๋ฌธ์„ ๋Œ ๋•Œ i+1 ์ด์•„๋‹ˆ๋ผ i*10์„ ํ•ด์ฃผ๋ฉด ๋˜๋Š”๊ฒƒ์ด์—ˆ๋‹ค...

 

 

  ๐Ÿฅณ ํ˜ผ์ž ์ž˜ ํ’€์–ด์„œ ๊ธฐ๋ปค์ง€๋งŒ ์‚ด์ง ํ—ˆ๋งํ•œ ๊ฒƒ.... ๊ทธ๋ž˜๋„ ์ข‹๋‹ค!

๋Œ“๊ธ€