Python, C++, JavaScript, SQL 및 TypeScript의 다양한 LeetCode 솔루션을 살펴보세요. 여러 프로그래밍 언어로 인터뷰 준비, 학습 및 코드 연습에 적합합니다. Github 레포 링크
문자열이 주어지면 에스
문자만 포함 '('
, ')'
, '{'
, '}'
, '['
그리고 ']'
입력 문자열이 유효한지 확인합니다.
입력 문자열은 다음과 같은 경우 유효합니다.
- 열린 괄호는 같은 유형의 괄호로 닫아야 합니다.
- 열린 괄호는 올바른 순서로 닫아야 합니다.
- 모든 닫힌 괄호에는 같은 유형의 열린 괄호가 대응됩니다.
예시 1:
입력: s = "()" 산출: 진실
예 2:
입력: s = "()[]{}" 산출: 진실
예시 3:
입력: 스 = "(]" 산출: 거짓
제약:
1 <= s.길이 <= 10 4
에스
괄호로만 구성됨'()[]{}'
.
파이썬
# 시간 복잡도: O(n) # 공간 복잡도: O(n) 클래스 솔루션: def isValid(self, s: str) -> bool: bracketMap = {"(": ")", "[": "]", "{": "}"} openSet = set(["(", "[", "{"]) stack = [] for char in s: if char in openSet: stack.append(char) elif stack and char == bracketMap[stack[-1]]: stack.pop() else: return False return stack == [] Input = "(())" print(Solution().isValid(Input))