Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.
An input string is valid if:
- Open brackets must be closed by the same type of brackets.
- Open brackets must be closed in the correct order.
Example 1:
Input: s = "()"
Output: true
Example 2:
Input: s = "()[]{}"
Output: true
Example 3:
Input: s = "(]"
Output: false
Constraints:
- 1 <= s.length <= 104
- s consists of parentheses only '()[]{}'.
주어진 소, 중, 대괄호로 이루어진 문자열이 알맞게 짝이 이룬 여부를 확인하는 문제이다.
일단 글자 수가 홀수이면 False를 출력하며, 0은 True로 일부분 걸러낸다.
그 후 While문을 통해 소, 중, 대괄호가 짝지어진 곳을 찾아 제거하며 존재하지 않을 때까지 반복한다.
class Solution:
def isValid(self, s):
n = len(s)
if n == 0:
return True
if n % 2 != 0:
return False
while '()' in s or '{}' in s or '[]' in s:
s = s.replace('{}','').replace('()','').replace('[]','')
if s == '':
return True
else:
return False
문제 출처 : https://leetcode.com/problems/valid-parentheses/
Github : https://github.com/kkkkang1009/leetcode/blob/master/leetcode_20.py
반응형
'IT > LeetCode' 카테고리의 다른 글
[LeetCode] 26. Remove Duplicates from Sorted Array (0) | 2022.07.22 |
---|---|
[LeetCode] 21. Merge Two Sorted Lists (0) | 2022.07.21 |
[LeetCode] 14. Longest Common Prefix (0) | 2022.07.21 |
[LeetCode] 13. Roman to Integer (0) | 2022.07.21 |
[LeetCode] 9. Palindrome Number (0) | 2022.07.20 |
댓글