728x90
반응형
백준 N과M 파이썬 문제풀이
자연수 N과 M 이 있으면
1~N까지 수로 길이가 M인 중복 없는 수열을 모두 구하는 문제이다.
제약이 많지 않아서 반복문으로도 단순히 구현할 수 있지만
재귀함수를 사용해보자.
정답코드
n,m = map(int,input().split())
# m = depth
def recur(depth, lst):
if depth == m:
for l in lst:
print(l,end=' ')
print()
return
else:
for i in range(1,n+1):
if i not in lst:
recur(depth+1, lst+[i])
recur(0, [])
첫번째 매개변수를 depth로, 두 번째는 list 로 해서
재귀함수로 순열을 구하였다.
list 타입을 매개변수로 전달할 때 레퍼런스를 전달하지 않도록 유의하자.
728x90
반응형
'개발 · 컴퓨터공학 > 알고리즘' 카테고리의 다른 글
백준 2961 도영이가 만든 맛있는 음식 파이썬 문제풀이 (python 최적화, 재귀, 백트래킹 경우의 수) (8) | 2024.09.27 |
---|---|
백준 2503 숫자야구 파이썬 문제풀이 (python 완전탐색, 재귀, 백트래킹) (12) | 2024.09.26 |
백준 3020 개똥벌레 파이썬 문제풀이 (python 누적합) (15) | 2024.09.24 |
백준 11660 구간 합 구하기 파이썬 문제풀이 (python 누적합) (18) | 2024.09.23 |
백준 2304 창고 다각형 파이썬 문제풀이 (python 누적합) (11) | 2024.09.22 |