프론트 개발자를 위한 여정

모든 영역을 안내하는 개발자

permutation 2

[알고리즘] 순열과 백트래킹 비교(permutation, backtracking) / 부분 수율 / 전체 순열

permutation: 크기가 제한된 부분 순열을 구하는 함수.backtrack: 전체 원소를 포함하는 순열을 구하는 함수.동작의 범위 차이:permutation: 고정된 크기의 조합만 포함.backtrack: 배열의 모든 순열을 포함.사용 상황:permutation: 특정 크기의 부분 조합을 구해야 할 때 사용.backtrack: 전체 순열을 구하거나 탐색이 필요한 경우 사용.비교표함수시간복잡도공간복잡도목적permutationO(n²)O(n²)크기가 제한된 순열 (예: 2개)backtrackO(n * n!)O(n * n!)전체 순열 (길이 n)  순열 생성 범위:permutation은 특정 크기의 순열(여기서는 2개)을 제한적으로 생성하기 때문에, 시간복잡도와 공간복잡도가 비교적 낮습니다.backtra..

Algorithm 2024.11.24

[알고리즘] 경우의 수(순열 / 조합) JS

알고리즘: 경우의 수 구하기"경우의 수 구하기"는 주어진 문제에서 가능한 경우들을 계산하는 알고리즘을 의미합니다. 다양한 문제에서 "경우의 수"를 구할 때 자주 등장하는 알고리즘 방법론으로는 **순열(permutation)**과 **조합(combination)**이 있습니다. 이들을 계산하는 방법을 JavaScript 코드로 설명하고, 블로그 글에 적합하게 쉽게 설명할 수 있도록 정리해보겠습니다.1. 경우의 수 구하기 기본 개념경우의 수를 구하는 기본적인 아이디어는 순서가 중요한지 아닌지를 기준으로 두 가지로 나눠집니다.순열(permutation): 순서가 중요한 경우, 예를 들어 카드에서 카드를 뽑는 순서가 중요할 때.조합(combination): 순서가 중요하지 않은 경우, 예를 들어 친구들 중 3명..

Algorithm 2024.11.22