코딩테스트/BOJ

[백준] [부분집합] 6603. 로또

박소민 2023. 5. 9. 10:55
6603. 로또
 

6603번: 로또

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

www.acmicpc.net

 

  • 내 풀이
    • 기본 부분집합 문제
    • 입력이 0이어야 테케입력 멈추는 방식 
#49개 중에 k개 고른 집합에서 6개 선택

def subset(cnt, start,result):
    global k
    if cnt==6:
        print(*result)
        return

    for i in range(start,k):
        result.append(S[i])
        subset(cnt+1, i+1, result)
        result.pop()



tmp=list(map(int,input().split()))
while tmp[0]!=0:
    k=tmp.pop(0)
    S=tmp

    subset(0,0,[])
    print()
    tmp = list(map(int, input().split()))