BEAKJOON 4949 Python (S4)

2024. 11. 22. 23:30·Algorithm(알고리즘)/Baekjoon(백준)

균형잡힌 세상


문제설명
각 줄의 괄호들이 균형을 이루고 있는지 검사하는 문제

소스코드

while True:
    string = input().rstrip()
    if string == ".":
        break

    stack = []
    balanced = True 

    for char in string:
        if char in "([":
            stack.append(char)
        elif char == ")":  
            if not stack or stack[-1] != "(":
                balanced = False
                break
            stack.pop()  
        elif char == "]":  
            if not stack or stack[-1] != "[": 
                balanced = False
                break
            stack.pop() 
    
    if balanced and not stack:
        print("yes")
    else:
        print("no")



Python 풀이

백준 4949번 문제는 문자열의 균형을 확인하는 문제로,
괄호((), [])의 짝이 올바르게 이루어졌는지를 판별해야 합니다.

문자열을 확인하기 위해 스택 자료구조를 사용했습니다.
스택은 LIFO(Last In, First Out) 후입선출 방식으로 동작하므로,
순서대로 매칭 여부를 확인할 수 있습니다.

먼저 문자열을 입력받습니다. \n로 입력이 들어오기 때문에
rstrip()을사용하여 엔터를 제거하여 문자열만 남게 합니다.
추가로 만약 문자열이 "." 이라면 입력받는 것을 종료합니다.
 
stack 리스트를 제작하고, 
여는 괄호 ( 또는 [는 스택에 추가합니다. 닫는 괄호 ) 또는 ]가 나오면 스택에서 가장 최근의 여는 괄호와 비교합니다. 만약 짝이 맞지 않으면 "no"를 출력하고 종료합니다. 모든 문자를 확인한 뒤 스택이 비어 있다면 "yes"를 출력하고, 남아 있다면 "no"를 출력합니다.

'Algorithm(알고리즘) > Baekjoon(백준)' 카테고리의 다른 글

BAEKJOON 20124 Python (B2)  (0) 2025.01.31
BAEKJOON 1436 Python  (1) 2024.11.21
BAEKJOON 9093 Python  (0) 2024.11.20
BAEKJOON 2914 Python  (1) 2024.11.19
BAEKJOON 1439 Python  (0) 2024.11.18
'Algorithm(알고리즘)/Baekjoon(백준)' 카테고리의 다른 글
  • BAEKJOON 20124 Python (B2)
  • BAEKJOON 1436 Python
  • BAEKJOON 9093 Python
  • BAEKJOON 2914 Python
7IHIN
7IHIN
Forging, For Love
  • 7IHIN
    Stanase
    7IHIN
  • 전체
    오늘
    어제
    • 분류 전체보기 (15)
      • Project(프로젝트) (1)
        • Web Development(웹 개발.. (0)
        • Text Game(텍스트 게임) (1)
        • Robotic Arm (로봇팔 제작) (0)
      • 3D Print(3D프린트) (1)
        • Bambu A1 Mini (0)
      • Web Security(웹 보안) (0)
        • Pay1oad (0)
        • Dreamhack (0)
      • Raspberry Pi(라즈베리파이) (1)
        • Raspberry Pi 5 (1)
      • Programming Language.. (0)
        • Python(파이썬) (0)
        • C++ (0)
      • Algorithm(알고리즘) (9)
        • Baekjoon(백준) (9)
      • Embedded(임베디드) (0)
        • Autonomous Vehicle(자.. (0)
      • Side Notes(기타) (1)
  • 블로그 메뉴

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

    • KakaoTalk Open Chat Room
    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    region of interest
    라즈베리파이
    4949
    프로그래밍
    hough transformation
    코딩
    Raspberry Pi
    python
    Buckshot roulette
    벅샷룰렛
    stanase
    파이썬
    20124
    baekjoon
    grayscale conversion
    2914
    3D 프린터
    알고리즘
    백준
    9093
  • 최근 댓글

  • hELLO· Designed By정상우.
7IHIN
BEAKJOON 4949 Python (S4)
상단으로

티스토리툴바