Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags more
Archives
Today
Total
관리 메뉴

개발의변화

프로그래머스 LV2 괄호 회전하기 본문

알고리즘

프로그래머스 LV2 괄호 회전하기

refindmySapporo 2023. 4. 1. 20:25
반응형

문제

https://school.programmers.co.kr/learn/courses/30/lessons/76502

const pair = { '}': '{', ']': '[', ')': '(' }

function solution(s) {
  const arr = s.split('')
  let result = 0
  const isValid = arr => {
    const stack = []
    for (let i = 0; i < arr.length; i++) {
      const c = arr[i]
      if (pair[c] === undefined) stack.push(c)
      else {
        if (stack[stack.length - 1] !== pair[c]) return false
        stack.pop()
      }
    }
    if (stack.length) return false
    return true
  }

  for (let i = 0; i < s.length; i++) {
    if (isValid(arr)) result++
    arr.push(arr.shift())
  }

 

반응형