전공/백준
10799
yha97
2022. 11. 26. 01:26
날짜 : 2022. 11. 25
사용 언어 : python
문제
코드
import sys
s = str(sys.stdin.readline().rstrip())
lazer = False
stick = []
res = 0
for i in range(len(s)):
if s[i] == "(":
if not lazer: lazer = True #앞이 ")"
else: stick.append(1)
if s[i] == ")":
if lazer: # 컷
if len(stick) > 0:
for j in range(len(stick)):
stick[j] += 1
lazer = False
else: # 자를 스틱 끝 도달
res += stick.pop()
lazer = False
print(res)
풀이
- 문자열 입력받은 후 레이저를 켜기 위한 bool 대수와 자를 막대기 저장용 리스트, 그리고 더이상 자를 막대기가 없는 경우 자른 값을 저장할 변수를 선언한 이후에 for문을 사용하여 조건에 따라 분기하면서 풀이했다.
알게된 점
-
참고 사이트
-