let's get IT with DAVINA ๐Ÿ’ป

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]Lv2. ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ณธ๋ฌธ

DEV_IN/๋ฌธ์ œํ’€์ด

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]Lv2. ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ

๋‹ค๋นˆ์น˜์ฝ”๋“œ๐Ÿ’Ž 2023. 3. 22. 16:17
์ตœ๊ทผ ์Šคํƒ์˜ ํ™œ์šฉ ๋ฌธ์ œ๋ฅผ ๋ฐฑ์ค€์—์„œ ํ’€์—ˆ๋Š”๋ฐ, ํ•ด๋‹น ๋ฌธ์ œ๋ž‘ ๋™์ผํ•ด์„œ ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

โ“๋ฌธ์ œ ์„ค๋ช…

๊ด„ํ˜ธ๊ฐ€ ๋ฐ”๋ฅด๊ฒŒ ์ง์ง€์–ด์กŒ๋‹ค๋Š” ๊ฒƒ์€ '(' ๋ฌธ์ž๋กœ ์—ด๋ ธ์œผ๋ฉด ๋ฐ˜๋“œ์‹œ ์ง์ง€์–ด์„œ ')' ๋ฌธ์ž๋กœ ๋‹ซํ˜€์•ผ ํ•œ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด
- "()()" ๋˜๋Š” "(())()" ๋Š” ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์ž…๋‹ˆ๋‹ค.
- ")()(" ๋˜๋Š” "(()(" ๋Š” ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ๊ด„ํ˜ธ์ž…๋‹ˆ๋‹ค.
'(' ๋˜๋Š” ')' ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด s๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ฌธ์ž์—ด s๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์ด๋ฉด true๋ฅผ return ํ•˜๊ณ , ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ๊ด„ํ˜ธ์ด๋ฉด false๋ฅผ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”.

๐Ÿšซ ์ œํ•œ์‚ฌํ•ญ

  • ๋ฌธ์ž์—ด s์˜ ๊ธธ์ด : 100,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜
  • ๋ฌธ์ž์—ด s๋Š” '(' ๋˜๋Š” ')' ๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

โ—๏ธ ๋น„๋‹ˆ's ํ’€์ด

์Šคํƒ์˜ ํ™œ์šฉ ๋ฌธ์ œ ํ˜•ํƒœ๋ฅผ ์ž˜ ๊ธฐ์–ตํ•˜์ž!

  • "(" ๊ฐ€ ๋‚˜์˜ค๋ฉด stack์— ์ถ”๊ฐ€
  • ")" ๊ฐ€ ๋‚˜์˜ค๋ฉด stack๋งˆ์ง€๋ง‰ ์š”์†Œ๊ฐ€ "(" ์ธ์ง€ ํ™•์ธํ•˜๊ณ  ์ œ๊ฑฐ! "(" ์•„๋‹ˆ๋ฉด false
  • stack์ด ๋น„์–ด์žˆ์œผ๋ฉด ๋ชจ๋“  ์ง ๋งž์œผ๋‹ˆ๊นŒ true, ์•ˆ๋น„์–ด์žˆ์œผ๋ฉด?! false
function solution(s){
    let stack=[];
    for(let i=0;i<s.length;i++){
        if(s[i]==="("){
            stack.push(s[i])
        } else if(s[i]===")"){
            if(stack[stack.length-1]==="("){
                stack.pop();
            } else return false;
        }
    }
    if(stack.length===0){
        return true;
    } else return false;
}
Comments