👩🏻🏫 풀이
import sys
def combination(arr, n):
result = []
if n == 0:
return [[]]
for i in range(len(arr)):
elem = arr[i]
for rest in combination(arr[i+1:],n-1):
result.append([elem]+rest)
return result
nums = []
while True:
lst = list(map(int,sys.stdin.readline().split()))
if lst[0] == 0:
break
del lst[0]
for i in combination(lst,6):
for j in i:
print(j, end=" ")
print()
print()
- 헷갈린 부분: 입력을 다 받고, 테스트 케이스 순서대로 출력되어야하는 줄 알았는데 그게 아니었음.
7 1 2 3 4 5 6 7
1 2 3 4 5 6
1 2 3 4 5 7
1 2 3 4 6 7
1 2 3 5 6 7
1 2 4 5 6 7
1 3 4 5 6 7
2 3 4 5 6 7
8 1 2 3 5 8 13 21 34
1 2 3 5 8 13
1 2 3 5 8 21
1 2 3 5 8 34
1 2 3 5 13 21
1 2 3 5 13 34
1 2 3 5 21 34
1 2 3 8 13 21
1 2 3 8 13 34
1 2 3 8 21 34
1 2 3 13 21 34
1 2 5 8 13 21
1 2 5 8 13 34
1 2 5 8 21 34
1 2 5 13 21 34
1 2 8 13 21 34
1 3 5 8 13 21
1 3 5 8 13 34
1 3 5 8 21 34
1 3 5 13 21 34
1 3 8 13 21 34
1 5 8 13 21 34
2 3 5 8 13 21
2 3 5 8 13 34
2 3 5 8 21 34
2 3 5 13 21 34
2 3 8 13 21 34
2 5 8 13 21 34
3 5 8 13 21 34
0