ps | |
---|---|
링크 | leetcode.com/… |
출처 | LeetCode |
문제 번호 | 22 |
문제명 | Generate Parentheses |
레벨 | Medium |
분류 |
완전탐색 |
시간복잡도 | O(4^n / sqrt(n)) |
인풋사이즈 | n <= 8 |
사용한 언어 | Python |
제출기록 | 28 ms / 14.4 MB |
최고기록 | 12ms |
해결날짜 | 2020/11/26 |
"""Solution code for "LeetCode 22. Generate Parentheses".
- Problem link: https://leetcode.com/problems/generate-parentheses/
- Solution link: http://www.teferi.net/ps/problems/leetcode/22
"""
class Solution:
def generateParenthesis(self, n: int) -> List[str]:
par_lists = [[] for _ in range(n + 1)]
par_lists[0] = ['']
for i in range(1, n + 1):
for j in range(i):
left_list = par_lists[j]
right_list = par_lists[i - j - 1]
for l in left_list:
par = '(' + l + ')'
par_lists[i].extend([par + r for r in right_list])
return par_lists[n]