인프런 커뮤니티 질문&답변
순열 구하기 중 몇 개를 뽑을지 선택
작성
·
206
0
next_permutation으로 순열을 구하는 것을 보니 n개 중 n개를 뽑아 순열을 만드는 것만 가능한 것처럼 보입니다. 만약 4개 중 3개만 뽑아 순열을 구한다면, 어떻게 할 수 있을까요?
ex) Python의permutations([1,2,3], 2)
조합 구하는 방법으로 재귀와 중첩 for문을 소개해주셨는데, 따로 찾다 보니
next_permutation을 응용한 방법도 있더라구요. (Gist로 코드 공유합니다) 이런 방법이 재귀나 중첩 반복문에 비해 더 나아보이는 데 어떻게 생각하시나요?
답변 1
0
큰돌
지식공유자
next_permutation으로 순열을 구하는 것을 보니 n개 중 n개를 뽑아 순열을 만드는 것만 가능한 것처럼 보입니다. 만약 4개 중 3개만 뽑아 순열을 구한다면, 어떻게 할 수 있을까요?
ex) Python의permutations([1,2,3], 2)
A. 재귀함수를 사용하면 됩니다. 교안 - makePermutation 함수를 참고해주세요.
조합 구하는 방법으로 재귀와 중첩 for문을 소개해주셨는데, 따로 찾다 보니
next_permutation을 응용한 방법도 있더라구요. (Gist로 코드 공유합니다) 이런 방법이 재귀나 중첩 반복문에 비해 더 나아보이는 데 어떻게 생각하시나요?
A. 이건 더 낫지 않은 코드입니다. 조합을 뽑아야 하는데 더 시간이 많이 걸리는 순열을 쓴 코드에요.
감사합니다.





