반응형
[ Contents ]
1. 문제 (링크 참조)
2. 문제 풀이
로또의 경우의 수를 오름차순으로 출력하는 문제입니다.
2022.03.20 - [Algorithm] - [Algorithm] 백트래킹(Backtracking): 안될 싹은 미리미리 가지치기
DFS 탐색과 백트래킹을 이용해서 구현하는 문제입니다. 하지만, 그보다 좀 더 쉬운 방법이 있습니다. 파이썬은 itertools 라이브러리를 제공하며, combinations() 함수를 이용해서 조합을 쉽게 구할 수 있습니다.
3. 코드
from itertools import combinations
import sys
input = sys.stdin.readline
while True:
# 입력
numlist = list(map(int, input().split()))
if numlist == [0]:
break
# 조합 구하기
lotto = combinations(numlist[1:], 6)
# 출력
for i in lotto:
for j in i:
print(j, end=" ")
print()
print()
combinations(lst, n)는 lst에서 n개를 뽑는 조합을 반환해줍니다.
반응형
'Algorithm' 카테고리의 다른 글
[분할정복/DP] 백준 15624 피보나치 수 7 - 파이썬(Python) (0) | 2022.07.27 |
---|---|
[구현/수학] 백준 15700 타일 채우기 4 - 파이썬(Python) (0) | 2022.07.26 |
[구현/수학] 백준 24883 자동완성 - 파이썬(Python) (0) | 2022.07.24 |
[동적계획법/DP] 백준 1309 동물원 - 파이썬(Python) (0) | 2022.07.23 |
[구현/수학] 백준 16199 나이 계산하기 - 파이썬(Python) (0) | 2022.07.22 |
댓글