쓰면서 익히는 알고리즘과 자료구조 - Stack

created:
last-updated:

스택을 활용하는 기초 문제 valid parentheses 풀어보기
https://leetcode.com/problems/valid-parentheses/

function isValid(string: string): boolean {
	const stack = [];
	const starts = ['(', '[', '{'];
	const pairs = {
		'(': ')',
		'[': ']',
		'{': '}'
	};
	
	for(const char of string){
		if(starts.includes(char)){
			stack.push(char);
		}else {
			if(stack.pop() !== pairs[char]){
			return false;
			}
		}
	}
	return stack.length === 0;
};
function isValid(string: string): boolean {
  const stack = [];
  const pairs = {
		'(': ')',
		'[': ']',
		'{': '}'
	};

  for (const char of string) {
    switch (char) {
      case '(':
      case '{':
      case '[':
        stack.push(char);
        break;
      case ')':
      case '}':
      case ']':
        if (stack.pop() !== pairs[char]) return false;
        break;
      default:
        break;
    }
  }

  return stack.length === 0;
}