Algorithm Python 1 : 올바른 괄호 판단(괄호 제거)

출처 : 워낙 유명한 문제라 :)

  • 문제는 다음과 같습니다.

올바른 괄호인지 판단하기(Python)

​ 본 문제에서는 입력으로 주어지는 괄호가 올바른 괄호인지를 판단하는 프로그램을 작성합니다. 예를 들어, ‘(())’ 은 올바른 괄호이지만, ‘(()))‘, 혹은 ‘(()()(’ 는 올바른 괄호가 아닙니다.

  • 조건

    • 입력 : 괄호 pp가 주어집니다.
    • 출력 : pp가 올바른 괄호이면 YES, 그렇지 않으면 NO를 출력합니다.
  • 예시

  1. 입력 예시 1 : (())()

    출력 예시 1 : YES

  2. 입력 예시 2 : (((())())(()())((())()))

    출력 예시 2 : YES

  3. 입력 예시 3 : (())())()

    출력 예시 3 : NO

  • Python 풀이

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    pp = input()
    pp_comp = ""
    if pp.count("(") != pp.count(")"):
    print("NO")
    else:
    for _ in range(len(pp)):
    pp_comp = pp
    pp = pp.replace("()", "")
    if len(pp) == len(pp_comp):
    print("NO")
    break
    elif len(pp) == 0:
    print("YES")
    break
  • 느낀 점