728x90
- 문제
- 해결
import sys
data = [list(map(int, x.strip().split())) for x in sys.stdin.readlines()]
def go(current_list, remainder_list):
# 로또 번호를 여섯개 이상 넣은 경우
if len(current_list) > 6:
return None
# 여섯개 추첨
if len(current_list) == 6:
print(' '.join([str(x) for x in current_list]))
# 아직 숫자가 모자르면
if 0 <= len(current_list) < 6:
# 남은 숫자가 있다면
if len(remainder_list):
for idx, val in enumerate(remainder_list):
go(current_list + [val], remainder_list[(idx + 1):])
for ind, list_ in enumerate(data):
if list_[0] == 0:
exit()
else:
if ind != 0:
print(' ')
go([], list_[1:])
- 포인트
- 첫 번호을 기준으로 dynamic programming
728x90
'Algorithm-Problems > 백준' 카테고리의 다른 글
[백준][9613] GCD 합 (0) | 2022.05.08 |
---|---|
[백준][9095] 1, 2, 3 더하기 (0) | 2022.05.08 |
[백준][6588] 골드바흐의 추측 (0) | 2022.05.08 |
[백준][4963] 섬의 개수 (0) | 2022.05.08 |
[백준][2667] 단지 번호 붙이기 (0) | 2022.05.08 |