BOJ/백준-10799-python
문제
풀이
- 쇠막대기는 자신보다 긴 쇠막대기 위에만 놓일 수 있다.
- 쇠막대기를 다른 쇠막대기 위에 놓는 경우 완전히 포함되도록 놓되, 끔점은 겹치지 않도록 놓는다.
- 각 쇠막대기를 자르는 레이저는 적어도 하나 존재한다.
- 레이저는 어떤 쇠막대기의 양 끝점과도 겹치지 않는다.
- 레이저는 여는 괄호와 닫는 괄호의 인접한 쌍 '()' 으로 표현된다.
- 또한, 모든 '()'는 반드시 레이저를 포함한다.
- 쇠막대기의 왼쪽 끝은 여는 괄호 '('로, 오른쪽 끝은 닫힌 괄호 ')'로 표현된다.
- 쇠막대기와 레이저의 배치를 나타내는 괄호 표현이 주어졌을 때, 잘려진 쇠막대기 조각의 총 개수를 구하는 프로그램을 작성하라.
- 한 줄에 쇠막대기와 레이저의 배치를 나타내는 괄호 표현이 공백없이 주어진다.
- 괄호 문자의 개수는 최대 100,000이다.
코드
# boj, 10799: 쇠막대기, python3
def iron_bar(word):
stack = []
result = 0
for x in range(len(word)):
if word[x] == '(':
stack.append(word[x])
else:
if word[x-1] == '(':
stack.pop()
result += len(stack)
else:
stack.pop()
result += 1
return result
if __name__ == '__main__':
print(iron_bar(str(input())))
결과
출처 && 깃허브
Author And Source
이 문제에 관하여(BOJ/백준-10799-python), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@cosmos/BOJ백준-10799-python저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)