KEEP GOING
[python] 백준 6603번 : 로또 (combination, backtracking) 본문
code review/implementation
[python] 백준 6603번 : 로또 (combination, backtracking)
jmHan 2022. 2. 25. 18:57반응형
https://www.acmicpc.net/problem/6603
1. combination 사용
from itertools import combinations
while True:
s = list(map(int, input().split()))
if len(s) == 1 and s == [0]:
break
k = s.pop(0)
for data in list(combinations(s, 6)):
print(*data)
print()
2. 백트래킹 구현
def dfs(stack, idx):
if len(stack) == 6:
# print 한다
print(*stack)
return
for idx in range(idx, k):
# 원소를 추가한다
stack.append(s[idx])
dfs(stack, idx+1)
stack.pop()
while True:
s = list(map(int, input().split()))
k = s.pop(0)
if not s:
break
dfs([], 0)
print()
반응형
'code review > implementation' 카테고리의 다른 글
[python] 프로그래머스 72410번 : 신규 아이디 추천 (isdigit(), isalpha()) (0) | 2022.03.17 |
---|---|
[python] 프로그래머스 67256번 : 키패드 누르기 (divmod()) (0) | 2022.03.17 |
[python] SWEA 1954 : 달팽이 숫자 (0) | 2022.02.04 |
[python] 백준 19237번: 어른 상어 (0) | 2022.01.25 |
[python] 백준 15686번 : 치킨배달 (combinations, 선형탐색) (0) | 2022.01.11 |
Comments