코딩테스트 연습 - 줄 서는 방법 | 프로그래머스 스쿨 (programmers.co.kr) def solution(n, k): num= list(range(1,n+1)) factorial = [1 for i in range(21)] for i in range(1,21): factorial[i]=factorial[i-1]*i result = [] while(n != 0): n_case = factorial[n - 1] number = k // n_case k = k % n_case if k == 0: result.append(num.pop(number - 1)) else: result.append(num.pop(number)) n -= 1 return result 가장 앞에 뭐가 올지를 먼정 정해주는 방식..