[JS-DSAA] 12 스택과 큐

백은진·2021년 7월 11일
0

책과 함께하는 공부

목록 보기
15/22

스택과 큐는 각 후입선출, 선입선출을 따르며 삽입 및 삭제 속도가 빠르다는 장점이 있다. 이전에 스택과 큐에 대해 작성한 블로그 글이 있기에 이 글에서는 새로 알게 된 개념과 연습문제만을 기록하려 한다.

  • peeking: 들여다 보는 것. 자료 구조에서 특정 항목을 제거하지 않고 반환하는 것을 의미한다.
  • enqueuing: 큐에 항목을 추가하는 것
  • dequeuing: 큐에서 항목을 제거하는 것

스택을 사용해 괄호 검증하기

const isParenthesisValid = (validationString) => {
  // const satck = new Stack();
  const stack = [];
  
  for (let pos=0; pos<validationString.length; pos++) {
    const currentCharacter = validationString.charAt(pos);
    
    if (currentCharacter === "(") {
      stack.push(currentCharacter);
    } else if (currentCharacter === ")") {
      if (!stack.length) return false;
      
      stack.pop();
    }
  }
  
  return !stack.length;
}

isParenthesisValid("((()"); // false
isParenthesisValid("((((()"); // false
isParenthesisValid("(())"); // true
isParenthesisValid("()()"); // true
profile
💡 Software Engineer - F.E

0개의 댓글