기록하고 까먹지 말기

10799 본문

전공/백준

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문을 사용하여 조건에 따라 분기하면서 풀이했다.

 

 

알게된 점

 

 

참고 사이트

 

'전공 > 백준' 카테고리의 다른 글

4889  (0) 2022.11.26
2212  (0) 2022.11.26
5567  (0) 2022.11.24
11501  (0) 2022.11.24
11727  (0) 2022.11.23