Search
Duplicate

줄 서는 방법

문제 설명 및 제한사항

아이디어 및 해결 방법

코드

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
Python
복사

출처

프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/challenges