우노
[Implementation] 프로그래머스 “올바른 괄호” Python 풀이 본문
문제 링크
문제 설명
- 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다.
- 예를 들어, "()()" 또는 "(())()" 는 올바른 괄호입니다.
- ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다.
- '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때,
- 문자열 s가 올바른 괄호이면 true를 return 하고,
- 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요.
제한사항
- 문자열 s의 길이 : 100,000 이하의 자연수
- 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다.
풀이
- 세부 풀이는 아래 코드에 설명되어있습니다.
코드
def solution(p):
# 왼쪽 괄호의 개수
count = 0
for i in range(len(p)):
# '('라면
if (p[i] == '('):
count += 1
# ')'라면
else:
# 왼쪽 괄호가 없는 상태에서 오른쪽 괄호가 등장했을 경우
if (count == 0):
return False
count -= 1
# 모든 문자를 탐색했는데, 왼쪽 괄호가 닫히지 않았을 경우
if (i == len(p) - 1 and count >= 1):
return False
return True
'Algorithm > Implementation' 카테고리의 다른 글
[Implementation] 백준 1790번 “수 이어 쓰기 2” Python 풀이 (1) | 2022.11.07 |
---|---|
[Implementation] 백준 2615번 “오목” Python 풀이 (0) | 2022.11.06 |
[Implementation] 백준 16719번 “ZOAC” Python 풀이 (0) | 2022.10.24 |
[Implementation] 백준 1913번 “달팽이” Python 풀이 (0) | 2022.10.10 |
[Implementation] 백준 1212번 “8진수 2진수” Python 풀이 (0) | 2022.10.09 |
Comments