[Boj문제풀이]

[Boj/백준] 11899 Python

ki7348 2021. 8. 30. 13:29

문제출처: https://www.acmicpc.net/problem/11899

 

11899번: 괄호 끼워넣기

첫 번째 줄에 S를 올바른 괄호열으로 만들기 위해 앞과 뒤에 붙여야 할 괄호의 최소 개수를 출력합니다. 불가능한 경우는 주어지지 않습니다.

www.acmicpc.net

 

 

1. 문제 접근 방식

문자열을 순환하면서 )면 스택의 마지막이 (인지 확인하고 (이면 스택에 삽입하는 방법으로 풀었다.

 

 

2. 내가 푼 코드

import sys

x = sys.stdin.readline().strip()

stack = []
count = 0

for i in x:
    if i == '(':
        stack.append(i)
    elif i == ')':
        if stack and stack[-1] == '(':
            stack.pop()
        else:
            count+=1

if stack:
    count+=len(stack)

print(count)

 

 

3. 결과 및 느낀점

이번주는 스택 문제 풀이에 대한 감을 익히도록 하자.

'[Boj문제풀이]' 카테고리의 다른 글

[Boj/백준] 15815 Python  (0) 2021.09.01
[Boj/백준] 5397 Python  (0) 2021.08.31
[Boj/백준] 15922 Python  (0) 2021.08.29
[Boj/백준] 14247 Python  (0) 2021.08.28
[Boj/백준] 1105 Python  (0) 2021.08.27