๐Ÿค ์€์ง€log ๐Ÿค

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค:Javascript] ๋ฌด์ž‘์œ„๋กœ K๊ฐœ์˜ ์ˆ˜ ๋ฝ‘๊ธฐ ๋ณธ๋ฌธ

๐ŸŒˆ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค:Javascript] ๋ฌด์ž‘์œ„๋กœ K๊ฐœ์˜ ์ˆ˜ ๋ฝ‘๊ธฐ

Eun_zii 2024. 4. 2. 17:32

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Lv.0

- ๋ฌด์ž‘์œ„๋กœ K๊ฐœ์˜ ์ˆ˜ ๋ฝ‘๊ธฐ

 

๐Ÿ’š ๋ฌธ์ œ์„ค๋ช…

 

๐Ÿ’š ์ œํ•œ์กฐ๊ฑด

  • 1 ≤ arr์˜ ๊ธธ์ด ≤ 100,000
    • 0 ≤ arr์˜ ์›์†Œ ≤ 100,000
  • 1 ≤ k ≤ 1,000

๐Ÿ’š ํ’€์ด

function solution(arr, k) {
    const set = new Set(arr)
    let newArr = [...set].slice(0, k);
    if ( newArr.length < k ) {
        const fillArr = Array(k - newArr.length).fill(-1);
        newArr = newArr.concat(fillArr);
    }
    return newArr
}

 

โœ… 

์šฐ์„  set( )ํ•จ์ˆ˜๋กœ ์ค‘๋ณต๋œ ์ˆซ์ž๋ฅผ ์ œ๊ฑฐํ•ด์ค€๋‹ค.

์ค‘๋ณต์„ ์ œ๊ฑฐํ•œ ํ›„, slice( ) ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ์—ด์˜ ์ฒ˜์Œ๋ถ€ํ„ฐ k๊ฐœ์˜ ๊ฐ’์„ ๊ฐ€์ง„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด newArr๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

์˜ˆ๋ฅผ๋“ค์–ด 
[0, 1, 1, 2, 2, 3] ๋ผ๋Š” arr๊ฐ€ ์žˆ๊ณ  k์˜ ๊ฐ’์ด 3 ์ด๋ผ๋ฉด ์•ž์—์„œ๋ถ€ํ„ฐ ์„œ๋กœ ๋‹ค๋ฅธ k๊ฐœ์˜ ์ˆ˜๋ฅผ ๊ณจ๋ผ๋‚ด๋ฉด [0, 1, 2]๊ฐ€ ๋œ๋‹ค.

console.log(newArr)

 

newArr์˜ ๊ธธ์ด๊ฐ€ k๋ณด๋‹ค ์ž‘๋‹ค๋ฉด, ๋‚จ์€ ๋ถ€๋ถ„์„ -1๋กœ ์ฑ„์›Œ์ค˜์•ผ ํ•˜๊ธฐ๋•Œ๋ฌธ์—

์ด๋ฅผ ์œ„ํ•ด ๋จผ์ € Array(k - newArr.length).fill(-1)์„ ์‚ฌ์šฉํ•˜์—ฌ -1๋กœ ์ฑ„์›Œ์ง„ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•ด์ฃผ๊ณ , concat( ) ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฅผ ๊ธฐ์กด์˜ newArr ๋ฐฐ์—ด์— ์—ฐ๊ฒฐํ•œํ›„, ์™„์„ฑ๋œ newArr๋ฅผ return ํ•ด์ค€๋‹ค.

728x90