[LeetCode][Python3] 22. Generate Parentheses
2018. 11. 10. 00:53 |
프로그래밍/LeetCode
Problem :
https://leetcode.com/problems/generate-parentheses
My Solution :
class Solution:
def generateParenthesis(self, n):
"""
:type n: int
:rtype: List[str]
"""
self.ans = []
self.generate('', n, n)
return self.ans
def generate(self, prefix, left, right):
if left:
self.generate(prefix + '(', left-1, right)
if left < right:
self.generate(prefix + ')', left, right-1)
if right == 0:
self.ans.append(prefix)
Comment :
괄호를 여는 것은 언제나 가능하다. 괄호를 닫는 것은 지금까지 열었던 괄호의 개수보다 닫았던 괄호의 개수가 작을 때만 가능하다. 위 풀이에서는 남아있는 괄호의 개수를 기준으로 접근하였다.
'프로그래밍 > LeetCode' 카테고리의 다른 글
[LeetCode][Python3] 48. Rotate Image (0) | 2018.11.13 |
---|---|
[LeetCode][Python3] 46. Permutations (0) | 2018.11.12 |
[LeetCode][Python3] 36. Valid Sudoku (0) | 2018.11.11 |
[LeetCode][Python3] 34. Find First and Last Position of Element in Sorted Array (0) | 2018.11.11 |
[LeetCode][Python3] 19. Remove Nth Node From End of List (0) | 2018.11.09 |
[LeetCode][Python3] 17. Letter Combinations of a Phone Number (0) | 2018.11.09 |
[LeetCode][Python3] 11. Container With Most Water (0) | 2018.11.07 |
[LeetCode][Python3] 108. Convert Sorted Array to Binary Search Tree (0) | 2018.11.06 |
최근에 달린 댓글 최근에 달린 댓글