Coding - Algo/python
[백준] 10799번:쇠막대기 (python 파이썬)
jainn
2021. 1. 13. 19:28
728x90
www.acmicpc.net/problem/10799
10799번: 쇠막대기
여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저
www.acmicpc.net
알고리즘 및 소스코드
1. '(' 가 나오면 스택에 추가
2. '()' 가 나오면 결과 값에 스택 길이 더하기
3. ')' 가 나오면 결과 값에 1 더하고 pop 한 번 해주기
arr = input()
stack = []
result = 0
for i in range(len(arr)):
if arr[i] == '(':
stack.append(arr[i])
else:
if arr[i-1] == '(':
stack.pop()
result += len(stack)
else:
stack.pop()
result += 1
print(result)
반응형