Algorithm
-
[알고리즘] 순열, 조합, 부분집합Algorithm 2022. 10. 22. 14:18
1. 순열 서로 다른 n개의 배열에서 r개를 선택하는 경우의 수이며, 이때 선택하는 순서도 고려가 되어져야 한다. 표기는 nPr이다. ex) [1, 2] 를 선택하는 것과 [2, 1]를 선택하는 것은 다른 경우이다. function solution(m, arr) { let answer = []; let ch = Array.from({ length: 3 }, () => 0); let tmp = Array.from({ length: m }, () => 0); function DFS(L) { if (L === m) { answer.push(tmp.slice()); } else { for (let i = 0; i < arr.length; i++) { if (ch[i] === 0) { ch[i] = 1; tmp[..
-
[알고리즘] 정렬 - 기초 정렬 3대장(선택정렬, 버블정렬, 삽입정렬)Algorithm 2022. 9. 6. 21:06
안녕하세요. 알고리즘의 정렬, 그 중에서도 간단하고 이해하기 쉬운 3대장인 선택정렬, 버블정렬, 삽입정렬에 대해 알아보겠습니다. 0. 정렬 알고리즘이란? 정렬 알고리즘은 sorting으로, 원소들을 일정한 순서대로(오름차순, 내림차순) 열거하는 알고리즘을 의미합니다. 1. 선택정렬(Selection Sort) 1) 아이디어 1. 각 루프마다 최대원소를 찾고, 최대원소와 마지막에 있는 원소와 교환한다. 2. 그리고 마지막에 있는 원소를 제외한다. 3. 하나의 원소만 남을 때까지 위의 루프를 반복한다. 각 회차별 마지막에 있는 원소의 자리를 "선택" 하고, 그 자리에 해당하는 값을 찾기 위해 비교한다고 보면 된다. 2) 코드 function selectionSort(arr){ let answer=arr; f..