title: "[프로그래머스] 줄 서는 방법 Python 파이썬 해설 (Level 2) - 이도훈"
cleanUrl: "programmers/12936"
description: "프로그래머스 Level 2 문제 [줄 서는 방법]의 풀이를 정리합니다."
import math
def solution(n, k):
arr = list(range(1, n+1))
arr.sort()
answer = []
for i in range(1, n+1):
# (n-i)! 개로 묶인 그룹이 n개 있을때, k번째는 몇 번째 그룹?
# (k-1) // (n-i)! 번째
x = arr[(k-1) // math.factorial(n-i)]
answer.append(x)
arr.remove(x)
# k는 그룹 안에서 몇 번째?
# (k-1) % (n-i)! + 1
k = (k-1) % math.factorial(n-i) + 1
return answer
프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/challenges