티스토리 뷰
문제
1부터 N까지 번호가 적힌 구슬이 있습니다. 이 중 M개를 뽑는 방법의 수를 출력하는 프로그 램을 작성하세요.
풀이
function solution(n, m) {
let answer = [];
let tmp = Array.from({ length: m }, () => 0);
function DFS(L, s) {
if (L === m) {
answer.push(tmp.slice());
} else {
for (let i = s; i <= n; i++) {
tmp[L] = i;
DFS(L + 1, i + 1);
}
}
}
DFS(0, 1);
return answer;
}
console.log(solution(4, 2));
순열과 조합의 차이는 무엇인가?
순열을 알아보기 전에 순열과 조합의 차이를 먼저 알아보자!
순열과 조합의 가장 큰 차이는 순서가 있고 없고 이다.
예를 들어 자전거의 번호가 있는 자물쇠를 연다고 가정해보자. 자물쇠 번호가 1234라고 한다면 순서에 대한 고려 없이 4321을 입력하면 자물쇠는 열리지 않는다.
이를 순열이라고 한다. (순서가 있음)
또 다른 예시로 닭가슴살 샐러드를 가정해보자. 닭가슴살 샐러드의 재료는 닭가슴살, 양상추, 소스, 토마토라고 한다면 우리는 샐러드를 담을 때 닭가슴살을 처음으로 넣고 두 번째는 양상추... 이런 식으로 넣지 않고 그냥 재료에 맞게 넣는다.
이를 조합이라고 한다. (순서가 없음)
'알고리즘 > 코딩테스트 공부' 카테고리의 다른 글
그래프와 인접행렬 (BFS) 선행 지식 (0) | 2022.03.25 |
---|---|
8-15. 수들의 조합 (DFS) (0) | 2022.03.25 |
8-13. 수열 추측하기 (0) | 2022.03.25 |
8-12. 조합의 경우 수 (메모이제이션) (DFS) (0) | 2022.03.24 |
8-11. 팩토리얼 (DFS) 재귀함수 (0) | 2022.03.24 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- jest
- 노개북
- Storybook
- NextRequest
- TopLayer
- env
- createPortal
- 아차산
- 노마드코더
- C언어
- CLASS
- 위코드
- 북클럽
- 윤성우 열혈C프로그래밍
- 프론트앤드
- 스토리 북
- NextApiRequest
- React
- 프리온보딩
- 원티드
- import/order
- javascript
- nextjs
- nodejs
- WSL2
- 우아한테크코스
- 초보
- electron
- error
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함