avatar
Published on

Codility - Nesting

Author
  • avatar
    Name
    yceffort

Nesting

๋ฌธ์ œ

(์™€ )๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์ด ์žˆ๋‹ค. ์ด ๋ฌธ์ž์—ด์˜ ( ) ์ง์ด ๋งž๊ฒŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋ผ.

ํ’€์ด

function solution(S) {
  const split = S.split('')
  const stack = []
  for (let i of split) {
    // ์—ฌ๋Š” ๊ด„ํ˜ธ๋ผ๋ฉด ์Šคํƒ์— ํ•˜๋‚˜์”ฉ ๋„ฃ๋Š”๋‹ค
    if (i === '(') {
      stack.push(true)
      // ๋‹ซ๋Š” ๊ด„ํ˜ธ๋ผ๋ฉด
    } else {
      // ๋‹ซ๋Š”๊ด„ํ˜ธ์ธ๋ฐ ์—ฌ๋Š”๊ด„ํ˜ธ๊ฐ€ ์—†๋‹ค๋ฉด ์ด๋ฏธ ๊ธ€๋Ÿฌ๋จน์—ˆ๋‹ค
      if (stack.length === 0) {
        return 0
        // ํ•˜๋‚˜ ์žˆ์œผ๋ฉด ๊บผ๋‚ธ๋‹ค
      } else {
        stack.pop()
      }
    }
  }

  // ์Šคํƒ์ด ๊น”๋”ํ•˜๊ฒŒ ๋น„์–ด์žˆ์œผ๋ฉด 1์„ ๋ฆฌํ„ดํ•œ๋‹ค.
  return stack.length === 0 ? 1 : 0
}

https://app.codility.com/demo/results/training8N66E9-5ZY/