[ Javascript ] 조합, 중복조합, 순열, 중복순열 (feat. 재귀함수)
자바스크립트로 재귀함수를 활용해서 조합, 중복조합, 순열, 중복순열을 구현해보자. 아래는 공통적으로 등장하는 변수에 대한 설명이다. 1. list → 선택 배열 const list = ['a', 'b', 'c', 'd', 'e']; 2. result → 결과값이 저장되는 배열 3. items → 선택한 요소를 담는 배열 4. k → 선택하는 개수. n_C_k 에서 k를 의미한다 5. idx → list 인덱스 정보 구현하는 로직을 간단하게 얘기하면 list에서 선택한 요소를 items 배열에 담는데, items 배열의 크기가 k 가 되면 result 배열에 push 하는 것이다. 조합 직관적으로 생각해보자. a ~ e 까지 담긴 배열에서 서로 다른 세 개의 문자를 선택하려고 한다. 어떻게 할 것인가? 아..
[ JavaScript ] Rest parameter, Spread Syntax, 구조 분해 할당
MDN 웹문서를 참고해 사용법만 아주 간단하게 정리해봤다. Rest parameter 함수의 매개변수 이름 앞에 ...을 붙여서 정의한 매개변수를 의미한다. Rest 파라미터는 함수 인자들을 배열로 받는다. function foo(...rest) { console.log(Array.isArray(rest)); // Array console.log(rest); // [1,2,3,4] } foo(1,2,3,4); rest 파라미터는 반드시 마지막에 위치해야 한다. 아래와 같이 사용할 수 있다. // rest 앞쪽은 다른 변수로 지정해서 받을 수 있다 function foo(first, second, ...rest) { console.log(first, second); // 1 2 console.log(res..