Search
Duplicate

BOJ 6603 로또

생성일
2024/07/28 04:56
태그
수학
조합론
재귀
백트래킹
%EB%A1%9C%EB%98%90.py
Problem

문제 설명

kk개의 수 중에서 6개를 뽑는 경우의 수를 모두 출력하는 문제
입력은 오름차순으로 주어지며, 출력은 사전순으로 해야 한다.

예제 입력/출력

입력1
7 1 2 3 4 5 6 7 8 1 2 3 5 8 13 21 34 0
Python
복사
출력1
1 2 3 4 5 6 1 2 3 4 5 7 1 2 3 4 6 7 1 2 3 5 6 7 1 2 4 5 6 7 1 3 4 5 6 7 2 3 4 5 6 7 1 2 3 5 8 13 1 2 3 5 8 21 1 2 3 5 8 34 1 2 3 5 13 21 1 2 3 5 13 34 1 2 3 5 21 34 1 2 3 8 13 21 1 2 3 8 13 34 1 2 3 8 21 34 1 2 3 13 21 34 1 2 5 8 13 21 1 2 5 8 13 34 1 2 5 8 21 34 1 2 5 13 21 34 1 2 8 13 21 34 1 3 5 8 13 21 1 3 5 8 13 34 1 3 5 8 21 34 1 3 5 13 21 34 1 3 8 13 21 34 1 5 8 13 21 34 2 3 5 8 13 21 2 3 5 8 13 34 2 3 5 8 21 34 2 3 5 13 21 34 2 3 8 13 21 34 2 5 8 13 21 34 3 5 8 13 21 34
Python
복사

제약 조건

6k136 ≤ k ≤ 13

문제 풀이

kk개 중에서 6개를 뽑는 모든 경우의 수를 살펴 보는 조합 알고리즘을 사용하면 된다.
조합 알고리즘을 직접 구현
풀이1 - O(kC6)O(_kC_6)
조합 알고리즘 라이브러리를 사용
파이썬의 combinations 함수에 관하여
풀이2 - O(kC6)O(_kC_6)

풀이 코드

풀이1 : 직접 구현
풀이2 : 라이브러리 사용