동캄의 코딩도장

백준 10799 [쇠막대기] 파이썬 본문

코테/BOJ

백준 10799 [쇠막대기] 파이썬

동 캄 2025. 2. 13. 23:41
반응형

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

 

스택을 이용하여 푸는 문제이다.

스택문제를 계속 풀다보니 그런지 잘 풀렸다.

#백준 10799 쇠막대기
lst=list(map(str,input()))

stack=[]
stack_num=0
i=0
ans=0
while i<len(lst):
    if lst[i]=='(' and lst[i+1]==')': # 레이저 발사하는 경우
        ans+=stack_num # 레이저로 막대가 분할되어, 막대 수 만큼 더 해줌
        i+=1
    elif lst[i]=='(': # 막대 시작부분 처리
        stack.append(lst[i])
        stack_num+=1
    elif lst[i]==')': # 막대 끝부분 처리
        stack.pop()
        stack_num-=1
        ans+=1 # 원래 막대도 하나 더해줌
    i+=1

print(ans)

 

반응형