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

์ฝ”๋”ฉํ…Œ์ŠคํŠธ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[Javascript] ์ง์ง€์–ด ์ œ๊ฑฐํ•˜๊ธฐ (12973)

๋ฌธ์ œ๋งํฌ

์ ‘๊ทผ๋ฐฉ๋ฒ•

๋ฌธ์ œ ์ž์ฒด๋Š” ๋‹จ์ˆœํžˆ ํ˜„์žฌ ๋ฐฐ์—ด ์š”์†Œ์™€ ๋‹ค์Œ ๋ฐฐ์—ด ์š”์†Œ๊ฐ€ ๊ฐ™์œผ๋ฉด ๋‘˜๋‹ค ์ œ๊ฑฐํ•˜๊ณ (splice)
์ œ๊ฑฐ๋œ ๋ฐฐ์—ด์„ ๋‹ค์‹œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋น„๊ตํ•˜์—ฌ ๊ณ„์†ํ•ด์„œ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
b aa baa → bb aa → aa →

์ฒ˜์Œ ํ‹€๋ฆฐ ๋ฌธ์ œ๋Š” ์ž์„ธํžˆ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ if(arr[i] === arr[i+1]) ์ผ๋•Œ๋งˆ๋‹ค ๊ณ„์†ํ•ด์„œ ๋ฐฐ์—ด์˜ ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ๋Œ์•„๊ฐ€ ์ „์ฒด๋ฅผ ๋‹ค์‹œ ์ˆœํšŒํ•œ๋‹ค. n!์ด๋ผ๋Š” ๋งค์šฐ ๋น„ํšจ์œจ์ ์ธ ์ฝ”๋“œ์ด๋‹ค.

stack์„ ์‚ฌ์šฉํ•˜์—ฌ for๋ฌธ์„ ํ•œ๋ฒˆ๋งŒ ์ˆœํšŒํ•˜๋„๋ก ์ฝ”๋“œ๋ฅผ ๋ฐ”๊พธ์–ด ํ’€์ดํ•˜์˜€๋‹ค.


 

์ฒ˜์Œ ํ‹€๋ฆฐ ๋ฌธ์ œ ( ๋‹ต์€ ๋‹ค ๋งž์•„๋„ ์‹œ๊ฐ„์ดˆ๊ณผ๋กœ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ•จ)

function solution(s)
{
    var answer = -1;
    arr = s.split("");
    
    for(let i = 0; i < arr.length; i++){
      if(arr[i] === arr[i+1]){
        arr.splice(i, 2);
        i = -1;
      }
    }
    answer = arr.length > 0 ? 0 : 1;

    return answer;
}

 

stack์„ ์ด์šฉํ•˜์—ฌ ๊ตฌํ•œ ๋‹ต

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

    return answer;
}