https://www.acmicpc.net/problem/6603
6603번: 로또
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로
www.acmicpc.net
재귀 이용해서 풀었다.
재귀를 진행하며, 6개의 숫자가 채워질 때 마다, 출력을 하였고, 조합의 개념을 넣기 위해 인자에 index값을 변환시켜 주었다.
while 1:
arr = list(map(int,input().split()))
k=arr[0]
arr=arr[1:]
path = [0]*6
def abc(level, start):
if level == 6:
print(*path)
return
for i in range(start,k):
path[level] = arr[i]
abc(level+1, i+1)
path[level] = 0
abc(0,0)
print("")
if k ==0:
break'Algorithm > baekjoon' 카테고리의 다른 글
| [파이썬]baekjoon 9342: 염색체 (0) | 2022.12.29 |
|---|---|
| [파이썬]baekjoon 1863: 스카이라인 쉬운거 (0) | 2022.12.28 |
| [파이썬]baekjoon 10789: 세로읽기 (0) | 2022.12.16 |
| [파이썬]baekjoon 11123: 양 한마리... 양 두마리... (0) | 2022.12.14 |
| [파이썬]baekjoon 9655: 돌 게임 (0) | 2022.12.13 |
댓글