๐Ÿ˜บํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - LV.2 ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ[JS]

laonยท2024๋…„ 6์›” 14์ผ
post-thumbnail

๋ฌธ์ œ ์„ค๋ช…

๊ด„ํ˜ธ๊ฐ€ ๋ฐ”๋ฅด๊ฒŒ ์ง์ง€์–ด์กŒ๋‹ค๋Š” ๊ฒƒ์€ '(' ๋ฌธ์ž๋กœ ์—ด๋ ธ์œผ๋ฉด ๋ฐ˜๋“œ์‹œ ์ง์ง€์–ด์„œ ')' ๋ฌธ์ž๋กœ ๋‹ซํ˜€์•ผ ํ•œ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด

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

์ œํ•œ์‚ฌํ•ญ

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

์ž…์ถœ๋ ฅ ์˜ˆ
s answer
"()()" true
"(())()" true
")()(" false
"(()(" false

์ž…์ถœ๋ ฅ ์˜ˆ

sanswer
"()()"true
"(())()"true
")()("false
"(()("fasle

ํ’€์ด

๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฉฐ ์—ฌ๋Š” ๊ด„ํ˜ธ๋Š” +1 ๋‹ซ๋Š” ๊ด„ํ˜ธ๋Š” -1์„ ํ•˜์—ฌ count๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค. ์ด๋•Œ ๋งŒ์•ฝ count๊ฐ€ 0๋ณด๋‹ค ์ž‘์•„์ง€๋ฉด ๋‹ซ๋Š” ๊ด„ํ˜ธ๋งŒ ์žˆ๋Š” ๊ฑฐ์ด๋ฏ€๋กœ false ๋ฐ˜ํ™˜ ๊ทธ๋ฆฌ๊ณ  ์ตœ์ข…์ ์œผ๋กœ count๊ฐ€ 0์ด๋ฉด true 0์ด ์•„๋‹ˆ๋ฉด ์—ฌ๋Š” ๊ด„ํ˜ธ๋งŒ ์žˆ๋Š” ๊ฑฐ์ด๋ฏ€๋กœ false ๋ฐ˜ํ™˜

function solution(s){
  	// ์นด์šดํŒ…
    let count = 0;
    for(let i = 0;i<s.length;i++){
        // ")"์ผ ๋•Œ -1
        if(s[i] === ")") count--;
		// "("์ผ ๋•Œ +1
        if(s[i] === "(") count++;
        // count๊ฐ€ 0๋ณด๋‹ค ์ž‘์„ ๊ฒฝ์šฐ false
        if(count < 0) return false;
        
    }
    // count๊ฐ€ 0์ธ ๊ฒฝ์šฐ true ์•„๋‹Œ ๊ฒฝ์šฐ false
    return count === 0 ? true : false;
}

๋А๋‚€์ ๐Ÿ˜บ

EASY

profile
laonlaon

0๊ฐœ์˜ ๋Œ“๊ธ€