토니의 연습장

스택 예제 본문

Algorithm/Ch 1. 기초 자료구조

스택 예제

bellmake 2024. 9. 5. 11:12

https://www.acmicpc.net/problem/10773

K = int(input())

stack = []

for i in range(K):
    n = int(input())
    
    if n == 0:
        stack.pop(-1)
    else:
        stack.append(n)
        
sum = 0
for e in stack:
    sum += e
    
print(sum)

https://www.acmicpc.net/problem/4949

 

while True:
    s = input()
    if s == ".":
        break
    
    stack = []
    balanced = True
    
    
    for i in range(len(s)):
        # 1
        if s[i] == '(' or s[i] == '[':
            stack.append(s[i])
            
        # 2
        if s[i] == ')':
            if len(stack) == 0:
                balanced = False    # False 
            
            last = stack.pop(-1) # True
            
            if last != '(':
                balanced = False    # False    
                break
        
        # 3
        if s[i] == ']':
            if len(stack) == 0:
                balanced = False    # False 
            
            last = stack.pop(-1) # True
            
            if last != '[':
                balanced = False    # False    
                break
            
    # 마지막에는 stack이 비어 있어야 함
    if len(stack) != 0:
        balanced = False
    if balanced:
        print("yes")
    else:print("no")

'Algorithm > Ch 1. 기초 자료구조' 카테고리의 다른 글

큐 예제  (1) 2024.09.05