코딩 테스트/백준
백준 알고리즘 10799. 쇠막대기
스마트코더91
2024. 3. 8. 22:05
https://www.acmicpc.net/problem/10799
10799번: 쇠막대기
여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저
www.acmicpc.net
전체 코드
def solution(s: str):
count = 0
stack = []
i = 0
while i < len(s):
# 레이저 인경우
if (i + 1) <= len(s) - 1 and s[i] == '(' and s[i + 1] == ')':
if stack:
count += len(stack)
i += 2
# 일반 stick
else:
if s[i] == '(':
stack.append('(')
elif s[i] == ')':
stack.pop()
count += 1
i += 1
return count
s = input()
print(solution(s)