-
11899. [Python]괄호 끼워넣기Python_알고리즘/Silver III 2023. 8. 20. 00:06
1. 문제
https://www.acmicpc.net/problem/11899
2. 접근 방법
- 시간 제한: 1초
- 메모리 제한: 32MB
- 스택
3. 파이썬 코드
words = input() stack = [] for word in words: # 스택에 값이 있을때 if stack: # 만약 닫는 괄호의 경우 if word == ")": # 여는 괄호가 스택의 top 에 있으면 pop if stack[-1] == "(": stack.pop() # 외의 경우 append else: stack.append(word) else: stack.append(word) else: stack.append(word) # 최종적으로 stack 에 남은 괄호 갯수 출력 print(len(stack))
4. 문제를 풀고난 후 생각
- 최종적으로 stack 리스트에 남아있는 괄호의 개수 만큼만 더 짝이 맞는 괄호를 만들어주면 될 것 같아서 stack을 이용하여 ")" 닫는 괄호가 올 경우만 pop 을 해줬다.
- stack을 이용한 문제중에 간단하게 풀 수 있는 문제였다.
5. 문제를 푸는데 도움이 되는 지식
- 스택
'Python_알고리즘 > Silver III' 카테고리의 다른 글
11727. [Python]2*n 타일링 2 (0) 2023.08.26 9095. [Python]1, 2, 3 더하기 (0) 2023.08.25 2606. [Python]바이러스 (0) 2023.08.19 1347. [Python]미로 만들기 (0) 2023.08.02 2607. [Python]비슷한 단어 (0) 2023.08.02