[ 2023-04-30 ๐Ÿ˜ฉ TIL ]

Burkeyยท2023๋…„ 4์›” 30์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
77/157

LV.2 ๊ด„ํ˜ธ ํšŒ์ „ํ•˜๊ธฐ


๋ฌธ์ œ ๋งํฌ

function check(s) {
  // ์Šคํƒ ์‚ฌ์šฉํ•˜์—ฌ ํ’€์Œ
  // stack ๋ฐฐ์—ด์— ๋งˆ์ง€๋ง‰ ๋“ค์–ด๊ฐ„ ๊ฐ’์ด '[' ์ผ๋•Œ ']'์ธ ๋ฌธ์ž๊ฐ€ ์˜ค๋ฉด pop ์•„๋‹ˆ๋ฉด ๋ฐฐ์—ด์— ์ถ”๊ฐ€
  //์œ„์— ๊ฐ™์€ ๋กœ์ง์„ ๋ฐ˜๋ณตํ•œ ๊ฒƒ
  let stack = [s[0]]
  var last = '';
  let i = 0
  for(let j = 1; j < s.length; j++) {
    last = stack[i]
    if(last == '('){
      if(s[j] == ')') { // ํ•ด๋‹น ์ง์ด ๋งž๋Š”์ง€ ํ™•์ธ
        stack.pop() // ๋งž์œผ๋ฉด ์‚ญ์ œ
        i -= 1
      }else{
        stack.push(s[j]) //๋งž์ง€ ์•Š์œผ๋ฉด ์ถ”๊ฐ€
        i += 1
      }
    }else if(last == '['){
      if(s[j] == ']') {
        stack.pop()
        i -= 1
      }else{
        stack.push(s[j])
        i += 1
      }
    }
    else if(last == '{'){
      if(s[j] == '}') {
        stack.pop()
        i -= 1
      }else{
        stack.push(s[j])
        i += 1
      }
    }
    else {
      stack.push(s[j])
      i += 1
    }
  }
  // stack์— ๊ฐ’์ด ๋‚จ์•„์žˆ์œผ๋ฉด ๊ด„ํ˜ธ์˜ ์ง์ด ์•ˆ๋งž๋Š” ๊ฒƒ ์—†์œผ๋ฉด ๊ด„ํ˜ธ์˜ ์ง์ด ๋งž๋Š” ๊ฒƒ
  if (stack.length > 0){
    return false
  }else{
    return true
  }
}

function solution(s){ 
  let count = 0
  for(let i = 0; i < s.length; i++){
    if(check(s)) {
      count += 1
    }
    s = s.slice(1) +  s.slice(0,1) ; 
    // ๋ฌธ์ž์—ด ์ฒซ๊ธ€์ž๋ฅผ ๋’ค๋กœ, ๋‚˜๋จธ์ง€๋ฅผ ์•ž์œผ๋กœ ๋•ก๊ธฐ๊ธฐ
  }
  return count
}
profile
์Šคํƒฏ ์˜ฌ๋ฆฌ๋Š” ์ค‘

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