개발 => 복습 후 재정리 대기/알고리즘

[백준] 4949번 균형잡힌 세상 파이썬

장 상 현 2021. 6. 24.

 

while True:
    s = input() # 문장 입력
    check = True # 문장 내 기호 짝 맞는지 검증 변수
    stack = [] # 기호 저장할 변수
    if s == '.': # 마침표면 종료
        break
    for i in s:
        if i in '([': # 괄호 ( [ 들어오면 스택에 붙여주고
            stack.append(i)
        elif i == ')': # 닫는괄호 ) 일때
            if stack and stack[-1] == '(': # 스택에 ( 있다면
                stack.pop() # 추출
            else: # 없다면
                check = False # 짝이 안 맞으니 False
                break
        elif i == ']':
            if stack and stack[-1] == '[':
                stack.pop()
            else:
                check = False
                break
    if not stack and check:
        print('yes')
    else:
        print('no')

 

 

 

4949번: 균형잡힌 세상

하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마

www.acmicpc.net

 

댓글