[Leetcode]22. Generate Parentheses(x)
2024. 8. 2. 07:24ㆍAlgorithm
1. problem :
https://leetcode.com/problems/generate-parentheses/
2. solution 1 :
class Solution:
def generateParenthesis(self, n: int) -> List[str]:
result = []
def backTrack(s="",open_count = 0, close_count = 0):
if len(s) == 2 * n:
result.append(s)
return
if open_count < n:
backTrack(s + "(",open_count +1, close_count)
if close_count < open_count:
backTrack(s + ")",open_count, close_count +1)
backTrack()
return result
backtracking을 활용하여 푸는 문제다. base case를 설정한 후, n = k 일 때 성립한다고 가정하고, k+1 때를 아무렇지 않게 쓸 수 있어야 한다.
'Algorithm' 카테고리의 다른 글
[Leetcode]853. Car Fleet(x) (0) | 2024.08.02 |
---|---|
[Leetcode]739. Daily Temperatures(x) (0) | 2024.08.02 |
[Leetcode]150. Evaluate Reverse Polish Notation (0) | 2024.08.01 |
[Leetcode]155. Min Stack (0) | 2024.08.01 |
[Leetcode]20. Valid Parentheses (0) | 2024.08.01 |