티스토리 뷰
저작권 규정을 모르기 때문에 문제를 요약해 정리한다.
n쌍의 괄호를 사용해 올바르게 구성된 괄호의 모든 조합을 생성
문제를 해결하기 위해 백트래킹 알고리즘을 사용했다.
가능한 모든 괄호 조합을 시도하며, 올바르게 구성됐을 경우만 결과에 추가한다.
( ु ´͈ ᵕ `͈ )ु JS:: 백트래킹(Backtracking) 알고리즘
백트래킹(Backtracking) 개념가능한 모든 해결책을 탐색하면서 조건에 맞지 않으면 돌아가 다시 시도한다.문제 해결을 위한 모든 경우의 수를 고려하는 동시에,조건에 맞지 않는 경로라면 더 이상
404minda.tistory.com
조건
- 열리는 괄호 '('는 n번 추가할 수 있다.
- 닫히는 괄호 ')'는 열리는 괄호의 수보다 많아질 수 없다.
function generateParenthesis(n) {
const result = [];
function backtrack(current, open, close) {
// 기저 조건: 현재 조합의 길이가 2n인지 확인
if (current.length === 2 * n) {
result.push(current);
return;
}
// 열리는 괄호 추가 조건
if (open < n) {
backtrack(current + '(', open + 1, close);
}
// 닫히는 괄호 추가 조건
if (close < open) {
backtrack(current + ')', open, close + 1);
}
}
backtrack('', 0, 0);
return result;
}

'Oops, All Code! > 🤯 Oops, My Algorithm!' 카테고리의 다른 글
| ꒰ྀི 13. LeetCode:: 행과 열의 합이 주어진 유효한 행렬 찾기 (0) | 2024.07.24 |
|---|---|
| ꒰ྀི 12. LeetCode:: 가장 긴 공통 접두사 (0) | 2024.07.23 |
| ( ु ´͈ ᵕ `͈ )ु JS:: 코딩테스트를 위한 배열 / 객체 / 집합(Set) 정리글 (0) | 2024.07.22 |
| ꒰ྀི 10. LeetCode:: 전화번호의 문자 조합 (0) | 2024.07.22 |
| ꒰ྀི 09. LeetCode:: 유효한 수도쿠 (0) | 2024.07.22 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 대학생플리마켓
- 우아한테크코스
- 책추천
- 서평
- 부스트캠프
- 경험플리마켓
- 소사벌
- 프론트엔드
- 안성스타필드
- js
- 어휘력
- 카페추천
- 비즈플리마켓
- 소사벌맛집
- 회고
- 코딩테스트
- react
- 어른의어휘공부
- 대학생팝업스토어
- typescript
- 트러블슈팅
- 도서추천
- 웹풀스택
- 네이버부스트캠프
- 프리코스
- 일급객체
- 카드뉴스
- 도서리뷰
- javascript
- 프로토타입
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함