알고리즘/백준

[백준 알고리즘] 6603번: 로또 (Python / 파이썬)

gyujh 2024. 1. 24. 23:33
문제 링크
 

6603번: 로또

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로

www.acmicpc.net

 

정답 코드
# 6603번: 로또

import sys

def func(select):
    if len(select) == 6:
        print(*select)
        return
    for i in range(1, len(s)):
        if s[i] not in select and select[-1] <= s[i]:
                select.append(s[i])
                func(select)
                select.pop()

while True:
    s = sys.stdin.readline().rstrip()
    if s == '0':
        break
    s = list(map(int, s.split()))
    k = s[0]
    s = s[1:]
    for i in range(k-5):
        func([s[i]])
    print('')