반응형
문제 링크
https://leetcode.com/problems/generate-parentheses/
내 풀이
List<String> list;
public List<String> generateParenthesis(int n) {
list = new ArrayList();
recursion("", 0, 0, n);
return list;
}
private void recursion(String ans, int left, int right, int n) {
if(ans.length() == n * 2) {
list.add(ans);
return;
}
if(left < n) recursion(ans + "(", left + 1, right, n);
if(left > right) recursion(ans + ")", left, right + 1, n);
}
결과
재귀 함수를 이용해 문제를 푸는 방식이었다.
조금만 생각해보면 문제 풀이 방법이 있었고 정답에 근접한 방법으로 풀다가 답을 보고 코드가 깔끔해졌다.
사실 난이도가 medium이었지만 easy와 medium 그 중간 어디쯤??...
반응형
'Algorithm' 카테고리의 다른 글
[Algorithm][Recursion] 문제 풀이 #19 - Subsets (0) | 2022.08.05 |
---|---|
[Algorithm][Recursion] 문제 풀이 #18 - Combinations (0) | 2022.08.04 |
[Algorithm][Array] 문제 풀이 #16 - Ransom Note (0) | 2022.08.01 |
[Algorithm][Array] 문제 풀이 #15 - Group Anagrams (0) | 2022.07.28 |
[Algorithm][Array] 문제 풀이 #14 - Find All Anagrams in a String (0) | 2022.07.27 |