Algorithm PS/BOJ
[BOJ] 10799 / 쇠막대기 / Python 파이썬
migrationArc
2021. 5. 24. 22:47
[BOJ] 10799 / 쇠막대기 / Python 파이썬
https://www.acmicpc.net/problem/10799
10799번: 쇠막대기
여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저
www.acmicpc.net
풀이
[BOJ] 9012 / 괄호 문제의 응용이다.
쇠막대기를 표현한 괄호를 각각
- 여는 괄호"(" : +1
- 닫는괄호 ")" : -1
겹치지는 쇠막대기 갯수를 카운팅 해주었다.
"()" 를 찾아 레이저 절단 위치를 찾아 잘라진 조각을 더해주고,
조각이 끝나는 부분에서 잘려진 쇠막대 조각이 하나 더 생기는 것을 추가로 더해주었다.
pipe = input()
level = 0
result = 0
for i in range(len(pipe)):
if pipe[i] == '(':
level += 1
else:
level -= 1
if pipe[i-1] == '(':
result += level
else:
result += 1
print(result)