[백준] 9012번 괄호 (Python)

2021. 3. 13. 23:25·알고리즘/백준
728x90
반응형

문제

www.acmicpc.net/problem/9012

 

9012번: 괄호

괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고

www.acmicpc.net

 

코드

T = int(input())

for i in range(T):
    stack = []
    a=input()
    for j in a:
        if j == '(':
            stack.append(j)
        elif j == ')':
            if stack:
                stack.pop()
            else: # 스택에 괄호가 없을경우 NO
                print("NO")
                break
    else: # break문으로 끊기지 않고 수행됬을경우 수행한다
        if not stack: # break문으로 안끊기고 스택이 비어있다면 괄호가 다 맞는거다.
            print("YES")
        else: # break안 걸렸더라도 스택에 괄호가 들어있다면 NO이다.
            print("NO")

 

코드설명

'(' 괄호가 들어오면 stack에 넣어준다.

')' 괄호가 들어왔을때는 stack을 검사해 비어있다면 NO를 출력하고 break해주고 만약 비어있지 않다면 pop을 한번 해준다.

 

for-else 문으로 for문에서 한번도 break가 난적이 없다면 else문을 실행하는데 그럴경우 stack이 비어있다면 괄호가 모두 짝이 맞은 경우이기 때문에 YES를 출력한다.

else 문이 실행해도 스택안에 괄호가 남아있다면 짝이 안맞는 것이기 때문에 NO를 출력한다.

 

 

반응형
저작자표시 (새창열림)

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 4949번 균형잡힌 세상 (Python)  (0) 2021.03.14
[백준] 18258번 큐 2 (Python)  (0) 2021.03.13
[백준] 10828번 스택 (Python)  (0) 2021.03.13
[백준] 1010번 다리 놓기 (Python)  (0) 2021.03.13
[백준] 11050번 이항 계수1 (Python)  (0) 2021.03.13
'알고리즘/백준' 카테고리의 다른 글
  • [백준] 4949번 균형잡힌 세상 (Python)
  • [백준] 18258번 큐 2 (Python)
  • [백준] 10828번 스택 (Python)
  • [백준] 1010번 다리 놓기 (Python)
wookcode
wookcode
공부한 내용들을 정리하고 기록하는 블로그입니다.
    반응형
  • wookcode
    wookcode
    wookcode
  • 전체
    오늘
    어제
    • 카테고리 (196) N
      • study (1) N
        • 아파치 카프카 애플리케이션 프로그래밍 with 자.. (0)
        • 인프런 (1) N
      • Live Study (15)
      • Programming (14)
        • Java (8)
        • Python (1)
        • Springboot (5)
        • MSA (0)
      • 알고리즘 (117)
        • 백준 (58)
        • 프로그래머스 (59)
      • 에러로그 (5)
      • 항해99 (23)
      • 면접 (1)
      • 프로젝트 (1)
      • CS (19)
        • 네트워크 (2)
        • 운영체제 (2)
        • 데이터베이스 (2)
        • 컴퓨터구조 (1)
        • Java (8)
        • Spring (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    항해99
    카카오코딩테스트
    정리
    미니프로젝트
    에러
    후기
    스파르타코딩클럽
    실전프로젝트
    java
    브루트포스
    해결
    SpringBoot
    프로그래머스
    백준
    spring
    알고리즘
    orm
    항해마켓
    파이썬
    카카오인턴
    조합
    회고
    김영한
    그리디
    인프런
    버그
    코딩테스트
    괄호
    jpa
    SFlash
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
wookcode
[백준] 9012번 괄호 (Python)
상단으로

티스토리툴바