728x90

코딩테스트 연습 - 올바른 괄호 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


def solution(s):
    stack = []
    for i in s:
        if i == '(':
            stack.append(i)
        else:
            if stack == []: 
                return False
            else:
                stack.pop()
    if stack != []: 
        return False
    return True

Stack을 이용하여서 “좌측 괄호” 일 경우 Stack에 넣어두고 “우측 괄호”가 나오면 Stack에 저장되어 있는 좌측 괄호 값을 빼는 형태로 짝을 찾아가는 형태로 구성

  1. 문자열을 문자 배열로 구성하여 반복문 순회
  2. 순회하면서 좌측 괄호인 경우는 Stack에 넣기
  3. Stack 값이 비었을 경우 false 리턴 ⇒ 짝이 맞지 않는 경우
  4. 순회하면서 우측 괄호인 경우 Stack에서 빼기
  5. 순회가 끝나고 Stack에 값이 존재하지 않으면 false 리턴

 

728x90

+ Recent posts