๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

ํ”„์—” ๊ณต๋ถ€/๐Ÿซง ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€

[์•Œ๊ณ ๋ฆฌ์ฆ˜ || ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ 2์˜ ๊ฑฐ๋“ญ์ œ๊ณฑ์œผ๋กœ ๋งŒ๋“ค๊ธฐ

728x90

๋ฒ”์œ„๊ฐ€ ์–ด์ฐจํ”ผ 1000๊นŒ์ง€ ๋ฐ–์— ์—†๊ธธ๋ž˜, 

function solution(arr) {
    const p2 = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024];
    const pow = p2.findIndex(v => arr.length <= v);
    const zero = new Array(2 ** [pow]).fill(0).map((v, i) => arr[i] ? v = arr[i] : v);
    return zero;
}

ํ•ด๋ดค์ž 2์˜ 10 ์ œ๊ณฑ์ธ 1024๊นŒ์ง€ ๋ฐ–์— ์•ˆ๊ฐˆ๊ฑฐ ๊ฐ™์•„์„œ ์ด๋ ‡๊ฒŒ ํ’€์—ˆ๋Š”๋”ฉ..

๋ชฌ๊ฐ€.. ํ‡ดํ™”ํ•œ ๋Š๋‚Œ...

 

function solution(arr) {
  const length = arr.length;
  const totalLength = 2 ** Math.ceil(Math.log2(length));
  return [...arr, ...new Array(totalLength - length).fill(0)];
}

log2 ๋ฅผ ์ด์šฉํ•ด์„œ ์˜ฌ๋ฆผ -> 2์˜ ์ธ์ˆ˜ ์ค‘ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€ ์ธ์ˆ˜๊ฐ€ ๋‚˜์˜ด. 

-> 2์˜ ๊ฑฐ๋“ญ์ œ๊ณฑ ์ˆ˜๋กœ ๋ฐ”๋กœ ๋งŒ๋“ค๊ธฐ..

๊ทธ๋ฆฌ๊ณ  ํ•„์š”ํ•œ ๋งŒํผ๋งŒ length ๋งŒ๋“ค์–ด์„œ 0 ๋„ฃ๊ธฐ..

728x90
๋ฐ˜์‘ํ˜•