본문 바로가기
ALGORITHM/BAEKJOON

[BOJ/Python] 4949. 균형잡힌 세상

by 안녕나는현서 2021. 8. 9.
728x90

📌 문제

https://www.acmicpc.net/problem/4949

 

4949번: 균형잡힌 세상

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

www.acmicpc.net

 

📌 문제 접근 방법

  1. 조건을 만족하면 바로 실행을 끝내고 싶었는데, break를 쓰면 반복문을 벗어나도 맨 아래 조건문이 실행돼서 자꾸 틀리게 되었다..ㅠㅠ..
    → 이를 해결하기 위해서 그냥 함수를 만들어서 return해서 실행을 끝내버렸다.
  2. 근데 이 문제는 문제를 잘 못 읽어서 엄청나게 틀렸다...
    맞은 거 같은데 왜 틀렸대!!!!이러고 문제를 다시 읽어보니 그냥 내가 잘못 읽은거..ㅎ.ㅎ....
    문제를 꼼꼼하게 읽자!

 

📌 코드

import sys

def func(input) :
    open = []

    for word in input :
        if word == '(' or word == '[' :
            open.append(word)
        elif word == ')' :
            if not open or open[-1] != '(':
                return 'no'
            else :
                open = open[:-1]
        elif word == ']' :
            if not open or open[-1] != '[':
                return 'no'
            else :
                open = open[:-1]

    if not open :
        return 'yes'
    else :
        return 'no'

while True :
    input = sys.stdin.readline().rstrip()

    if input == '.' :
        break
    
    print(func(input))

 

728x90

'ALGORITHM > BAEKJOON' 카테고리의 다른 글

[BOJ/Python] 17413. 단어 뒤집기 2  (0) 2021.08.16
[BOJ/Python] 1120. 문자열  (0) 2021.08.16
[BOJ/Python] 18258. 큐2  (0) 2021.08.09
[BOJ/Python] 10828. 스택  (0) 2021.08.09
[BOJ/Python] 10818. 최소, 최대  (0) 2021.07.27

댓글