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

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค:Javascript] ๋ฐฐ์—ด ๋งŒ๋“ค๊ธฐ 6 ๋ณธ๋ฌธ

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

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค:Javascript] ๋ฐฐ์—ด ๋งŒ๋“ค๊ธฐ 6

Eun_zii 2024. 4. 1. 18:09

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

- ๋ฐฐ์—ด ๋งŒ๋“ค๊ธฐ 6

 

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

 

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

  • 1 ≤ arr์˜ ๊ธธ์ด ≤ 1,000,000
    • arr์˜ ์›์†Œ๋Š” 0 ๋˜๋Š” 1 ์ž…๋‹ˆ๋‹ค.

๐Ÿ’š ํ’€์ด

function solution(arr) {
    const stk = [];
    
    for ( let i = 0; i < arr.length;) {
        if ( stk.length === 0 ) {
            stk.push(arr[i++])
        } else if ( stk[stk.length -1] === arr[i] ) {
            stk.pop(arr[i++]); 
        } else if ( stk[stk.length -1] !== arr[i] ) {
            stk.push(arr[i++])
        }
    }
    return stk.length > 0 ? stk : [-1];
}

 

โœ… 

๋ฐฐ์—ด ๋งŒ๋“ค๊ธฐ 4 ํ’€๊ณ  ๋ฐ”๋กœ ์ด ๋ฌธ์ œ ํ’€์–ด๋ณด์•˜๋‹ค ๐Ÿฅ

 

i์˜ ์ดˆ๊ธฐ๊ฐ’์„ 0์œผ๋กœ ์„ค์ •ํ•˜๊ณ  i๊ฐ€ arr์˜ ๊ธธ์ด๋ณด๋‹ค ์ž‘์œผ๋ฉด ๋‹ค์Œ์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

: for ( let i = 0; i < arr.length;) { }

 

๋งŒ์•ฝ stk์ด ๋นˆ ๋ฐฐ์—ด์ด๋ผ๋ฉด arr[i]๋ฅผ stk์— ์ถ”๊ฐ€ํ•˜๊ณ  i์— 1์„ ๋”ํ•ฉ๋‹ˆ๋‹ค.

: if ( stk.length === 0 ) {
            stk.push(arr[i++])
        }

 

stk์— ์›์†Œ๊ฐ€ ์žˆ๊ณ , stk์˜ ๋งˆ์ง€๋ง‰ ์›์†Œ๊ฐ€ arr[i]์™€ ๊ฐ™์œผ๋ฉด stk์˜ ๋งˆ์ง€๋ง‰ ์›์†Œ๋ฅผ stk์—์„œ ์ œ๊ฑฐํ•˜๊ณ  i์— 1์„ ๋”ํ•ฉ๋‹ˆ๋‹ค.

: if ( stk[stk.length -1] === arr[i] ) {
            stk.pop(arr[i++]); 
        }

 

stk์— ์›์†Œ๊ฐ€ ์žˆ๋Š”๋ฐ stk์˜ ๋งˆ์ง€๋ง‰ ์›์†Œ๊ฐ€ arr[i]์™€ ๋‹ค๋ฅด๋ฉด stk์˜ ๋งจ ๋งˆ์ง€๋ง‰์— arr[i]๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  i์— 1์„ ๋”ํ•ฉ๋‹ˆ๋‹ค.

: if ( stk[stk.length -1] !== arr[i] ) {
            stk.push(arr[i++])
        }

 

๋งŒ์•ฝ ๋นˆ ๋ฐฐ์—ด์„ return ํ•ด์•ผํ•œ๋‹ค๋ฉด [-1]์„ return ํ•ฉ๋‹ˆ๋‹ค.

: stk.length > 0 ? stk : [-1]

728x90