-
[백준/BOJ] 9012번 : 괄호 _Python알고리즘/백준(BOJ) 2022. 2. 26. 00:42728x90반응형
>문제
>접근방법
괄호를 보니 작년에 배웠던 자료구조에서 스택이 떠올랐다. 스택 사용법을 보다가 top 개념만 차용해 왔다. 여는 괄호 '('를 만나면 top에 1을 더해주고 닫는 괄호 ')'를 만나면 top에 1을 빼준다. 0이 되면 맞고, 음수가 되면( 닫는 괄호가 더 많은 시점에) break를 건다.
>알고리즘
1. T를 n에 입력받고 n만큼 반복 수행한다.
2.top은 0으로 시작한다.
3. '(' 를 만나면 top에 1을 더하고, ')' 를 만나면 top에서 1을 뺀다.
4. 도중에 top이 음수가 되면 break로 빠져나온다.
5. top이 0일 경우(괄호의 개수가 맞아떨어진 경우)에만 YES 출력
>코드
n = int(input()) stack = [] for _ in range(n): stack = input() slen = len(stack) top = 0 for i in range(slen): if stack[i] == '(': top += 1 elif stack[i] == ')': top -= 1 if top < 0: break if top == 0: print("YES") else: print("NO")
>결과
>결론
자야지 이제
LIST'알고리즘 > 백준(BOJ)' 카테고리의 다른 글
[백준/BOJ] 3986번 : 좋은 단어 _Python (0) 2022.02.26 [백준/BOJ] 10773번 : 제로 _Python (0) 2022.02.26 [백준/BOJ] 10798번 : 세로읽기 _Python (0) 2022.02.26 [백준/BOJ] 1652번 : 누울 자리를 찾아라 _Python (0) 2022.02.24 [백준/ BOJ] 5555번 : 반지 _Python (0) 2022.02.23