몽상실현개발주의

[BOJ] 10799 / 쇠막대기 / Python 파이썬 본문

Algorithm PS/BOJ

[BOJ] 10799 / 쇠막대기 / Python 파이썬

migrationArc 2021. 5. 24. 22:47

[BOJ] 10799 / 쇠막대기 / Python 파이썬

[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)

 

Comments