728x90
반응형
코딩테스트 해설
문제 유형 : 백트래킹
작성 코드
import sys
N, M = map(int, sys.stdin.readline().split(" "))
sequence = sorted(map(int, sys.stdin.readline().split(" ")))
def recursion_tree(current_select: list, depth: int) -> list:
if depth == M:
return [current_select]
results = []
for num in range(N):
results.extend(recursion_tree(current_select + [num], depth + 1))
return results
for data in recursion_tree([], 0):
print(" ".join(map(str, [sequence[num_idx] for num_idx in data])))
접근 방식
- 동일한 값도 표기해야 하기때문에, 기존에 있던 조건을 제거하였다.
개선 사항
- 오타를 수정하였습니다.
- 여전히 비효율적인 데이터 저장방식을 사용중

728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[ Python ] 1340번 : 연도 진행바 (0) | 2025.04.10 |
---|---|
[ Python ] 1149번 : RGB거리 (0) | 2024.10.21 |
[ Python ] 15654번 : N과 M (5) (0) | 2024.08.14 |
[ Python ] 17609번 : 회문 (0) | 2024.08.08 |
[ Python ] 2230번: 수 고르기 (0) | 2024.08.08 |