본문 바로가기

Data Structure 🛠️/Stack9

[백준 9012번] 괄호 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net t = int(input()) inputs = [list(input()) for _ in range(t)] def check_vps(str): stack = [] for element in str: if element == '(': stack.append(element) elif element == ')': if not stack: # 스택이 비어있는 경우 return False else: stack.pop() if stack: r.. 2023. 10. 18.
[백준 17298번] 오큰수 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net n = int(input()) elements = list(map(int,input().split())) stack = [] answer = [] for i in range(n-1,-1,-1): while True: if len(stack) == 0: answer.append(-1) stack.append(elements[i]) break if elements[i] < stack[-1]: answer.append(stack[-1]) stack.append(elements[i.. 2023. 10. 14.
[프로그래머스 Lv.2] 올바른 괄호 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(s): answer = True stack = [] for item in s: if len(stack) == 0: stack.append(item) elif stack[-1] == '(': if item == ')': stack.pop() elif item == '(': stack.append(item) else: stack.append(item) if len(stack) != 0: return False return True 이번 문제는 괄호만 입력받는다는 조건 하에, 괄호가 올바르게.. 2023. 9. 21.