(a) 레이저는 여는 괄호와 닫는 괄호의 인접한 쌍 '()'으로 표현합니다. 또한 모든 '()'는 반드시 레이저를 표현합니다.
(b) 쇠막대기의 왼쪽 끝은 여는 괄호 '('로, 오른쪽 끝은 닫힌 괄호 ')'로 표현됩니다.
def solution(arrangement):
token_stack = []
answer = 0
for token in arrangement:
if token == "(":
token_stack.append(token)
last_token = token
else:
if last_token == "(":
token_stack.pop()
answer += len(token_stack)
last_token = token
else:
token_stack.pop()
answer += 1
return answer
def solution(arrangement):
answer = 0 # 잘린 쇠막대기의 총 개수
arrangement = list(arrangement)
bong = 0 # 쇠막대기 개수
while arrangement:
if arrangement[0] == "(": # 여는 괄호
bong += 1
arrangement.pop(0)
if arrangement[0] == ")": # 괄호쌍 일 경우
bong -= 1
answer += bong
arrangement.pop(0)
else: # 닫는 괄호
arrangement.pop(0)
bong -= 1
answer += 1
return answer