You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Input: "12"
사람이 푸는 방법:
1. 첫 번째 자리에 1을 놓고, 나머지 2로 순열 만들기 -> "12"
2. 첫 번째 자리에 2를 놓고, 나머지 1로 순열 만들기 -> "21"
Step 2: 접근 방법
문제의 일반화 규칙 찾기:
한 문자를 고정하고
나머지 문자들로 가능한 모든 순열을 만든다
이 과정을 모든 문자에 대해 반복한다
약식 알고리즘 표:
입력: s = "123"
1단계: "1"을 고정
↓
남은문자 "23"으로 순열만들기
↓
2단계: "2"를 고정
↓
남은문자 "3"으로 순열만들기
↓
결과 합치기: "1" + ("2" + "3")
Step 3: 코드 설계
모듈화:
/** * 입력: 문자열 s * 출력: 가능한 모든 순열의 배열 * 예) 입력: "12" -> 출력: ["12", "21"] */functionpermute(s){// 구현}
Step 4: 코드 구현
functionpermute(s){if(s.length<=1){return[s];}letarr=[];for(leti=0;i<s.length;i++){letchar=s[i];letremaining=s.slice(0,i)+s.slice(i+1);// 재귀처리for(letpermofpermute(remaining)){// 데이터 통합arr.push(char+perm);}}returnarr;}console.log(permute('12'));
The text was updated successfully, but these errors were encountered:
문제 설명
순열 생성 문제: 주어진 문자열의 모든 가능한 순열을 생성하는 프로그램을 작성
📝 제약조건
💡 예시
문제 해결 과정
Step 1: 문제 이해하기
작은 예시로 풀어보기:
Step 2: 접근 방법
문제의 일반화 규칙 찾기:
약식 알고리즘 표:
Step 3: 코드 설계
모듈화:
Step 4: 코드 구현
The text was updated successfully, but these errors were encountered: