어려움
Permutations
코드 라인과 단계 ID를 동기화하고, 변수/포인터/배열·행렬·그래프 엔티티의 상태 스냅샷을 단계마다 갱신한다.
1 / 324×4 체스판에 퀸 4개를 서로 못 잡게 놓습니다. 행마다 하나씩 놓아 보고, 막히면 되돌아갑니다 — 이것이 백트래킹입니다.
단계 목록 · 키보드 ←/→ 이동, Space 재생
구현 계약펼쳐서 명세 보기 · 참고 자료
- 분류
- Backtracking · dsa-workbench
- 구현 핵심
- 코드 라인과 단계 ID를 동기화하고, 변수/포인터/배열·행렬·그래프 엔티티의 상태 스냅샷을 단계마다 갱신한다.
- 의도
- Permutations의 입력·판단·결과 변화를 Backtracking 관점에서 단계별로 시각화한다.
- 입력 프리셋
- [, Example 1: [1,2,3], Example 2: [0,1]
- 입력 검증
- integer, range -10..10, uniqueness rule
- 언어/코드
- python, java, cpp, csharp, go, javascript, typescript; 코드 템플릿 있음; 단계↔라인 키 start, init, before_backtrack, complete
- 단계 모델
- 초기 프리셋 6단계; 기록 ID start, init, before_backtrack, enter_backtrack, add_permutation, skip_used, add_nums, backtrack_choice, exit_backtrack, complete
- 시각 상태
- 엔티티 naryTreeNode; 상태/단계 값 active
- 화면 옵션
- 입력 패널 있음, 시각화 있음, 변수표 숨김, 전체화면 지원