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

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 1๋‹จ๊ณ„ : ๊ฐ™์€ ์ˆซ์ž๋Š” ์‹ซ์–ด

by ์ฝ”ํŒŒ์นด 2022. 11. 27.
728x90

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 1๋‹จ๊ณ„ : ๊ฐ™์€ ์ˆซ์ž๋Š” ์‹ซ์–ด

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต > ์Šคํƒ/ํ > ๊ฐ™์€ ์ˆซ์ž๋Š” ์‹ซ์–ด


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

๋ฐฐ์—ด arr๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๋ฐฐ์—ด arr์˜ ๊ฐ ์›์†Œ๋Š” ์ˆซ์ž 0๋ถ€ํ„ฐ 9๊นŒ์ง€๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ, ๋ฐฐ์—ด arr์—์„œ ์—ฐ์†์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ์ˆซ์ž๋Š” ํ•˜๋‚˜๋งŒ ๋‚จ๊ธฐ๊ณ  ์ „๋ถ€ ์ œ๊ฑฐํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, ์ œ๊ฑฐ๋œ ํ›„ ๋‚จ์€ ์ˆ˜๋“ค์„ ๋ฐ˜ํ™˜ํ•  ๋•Œ๋Š” ๋ฐฐ์—ด arr์˜ ์›์†Œ๋“ค์˜ ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด,

โ“ arr = [1, 1, 3, 3, 0, 1, 1] ์ด๋ฉด [1, 3, 0, 1] ์„ return ํ•ฉ๋‹ˆ๋‹ค.
โ“ arr = [4, 4, 4, 3, 3] ์ด๋ฉด [4, 3] ์„ return ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฐ์—ด arr์—์„œ ์—ฐ์†์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ์ˆซ์ž๋Š” ์ œ๊ฑฐํ•˜๊ณ  ๋‚จ์€ ์ˆ˜๋“ค์„ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”.

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

โ˜๏ธ ๋ฐฐ์—ด arr์˜ ํฌ๊ธฐ : 1,000,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜
โœŒ๏ธ ๋ฐฐ์—ด arr์˜ ์›์†Œ์˜ ํฌ๊ธฐ : 0๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ  9๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜

๐Ÿ’ฉ ๋ฌธ์ œ ํ’€์ด

function solution(arr){
    return arr.filter((e, i) => arr[i] !== arr[i+1]);
}

์ €๋ฒˆ ๋ฌธ์ œ์—์„œ filter๋ฅผ ๊ณต๋ถ€ํ•˜๊ธฐ๋กœ ๋งˆ์Œ๋จน์—ˆ์œผ๋‹ˆ ๋ฐ”๋กœ ํ•œ๋ฒˆ ์จ๋ดค์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ 3์  ๋ฐ–์— ๋ชป ๋ฐ›์€ ๊ฑธ ๋ณด๋‹ˆ ๋ญ”๊ฐ€ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ž…์žฅ์—์„œ๋Š” ๋งˆ์Œ์— ์•ˆ ๋“œ๋‚˜ ๋ด…๋‹ˆ๋‹ค. ํ•œ ์ค„ ์ปท์˜ ์ฒซ๊ฑธ์Œ์ด๋ผ ๊ธฐ๋ถ€๋‹ˆ๊ฐ€ ์ข‹๋„ค์š”.

๐Ÿ’ฉ ๋‹ค๋ฅธ ํ’€์ด

function solution(arr)
{
    return arr.filter((val,index) => val != arr[index+1]);
}

๊ตณ์ด arr[i]๋ผ ์ž‘์„ฑํ•˜์ง€ ์•Š๊ณ  e๋ฅผ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ๋‹ค ์จ๋„ ๋ฉ๋‹ˆ๋‹ค.

function solution(arr) {
    var answer = [arr[0]];
    for (let i=1; i<arr.length; i++) {
        if (answer[answer.length - 1] !== arr[i]) {
            answer.push(arr[i]);
        }
    }
    return answer;
}

if๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ, ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ์š”์†Œ๋“ค๋งŒ ๊ณจ๋ผ answer ๋ฐฐ์—ด ์•ˆ์— ๋„ฃ์–ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

728x90

๋Œ“๊ธ€

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๐Ÿฆ™

CSS
๊ด‘๊ณ  ์ค€๋น„์ค‘