소스코드
def dfs(depth, idx):
if depth == 6:
print(*out)
return
for i in range(idx, k):
out.append(S[i])
dfs(depth + 1, i + 1)
out.pop()
while True:
array = list(map(int, input().split()))
k = array[0]
S = array[1:]
out = []
dfs(0, 0)
if k == 0:
exit()
print()
알고리즘
사실 이 문제도 combinations를 이용해서 풀면 풀리는 문제인데 공부하는 입장이다보니 dfs를 이용하여 풀었습니다.
dfs를 사용하여 깊이를 1씩 늘려가며 6개가 되면 출력하는 형태로 진행하였습니다. .ez~
'Coding test' 카테고리의 다른 글
[백준/12026/파이썬] BOJ거리 (0) | 2023.01.14 |
---|---|
[백준/12869/파이썬] 뮤탈리스크 (0) | 2023.01.13 |
[백준/11723/파이썬] 집합 (0) | 2023.01.11 |
[백준/10972/파이썬] 다음 순열 (0) | 2023.01.10 |
[백준/9095/파이썬] 1,2,3 더하기 - DP (0) | 2023.01.09 |