https://www.acmicpc.net/problem/15663 최적화 하는데 좀 힘들었다. counting 배열을 적극 활용 주어진 숫자 counting 경우의 수로 만들고 있는 수열에 사용된 숫자 counting 두 counting 을 비교한 결과를 이용하여 백트래킹 재귀활용 수열의 길이가 M이 될때까지 재귀 def solve(ls,l): # ls = 현재 만들고 있는 순열, l = 순열의 길이 if l == M: sol.append(ls) return for num in nums: # 초기 nums에 들어있던 숫자 보다 작은 개수만 사용하게 설계 if lscount[num] < count_num[num]: lscount[num] += 1 solve(ls+[num],l+1) lscount[num]..