문제
https://school.programmers.co.kr/learn/courses/30/lessons/12936
코드
from collections import deque
def fac(n):
if n==1:
return 1
return n*fac(n-1)
def solution(n, k):
answer = []
queue=deque(i for i in range(1,n+1))
while n>1:
f=fac(n-1)
# 배열은 0부터 시작하므로
ans=queue[(k-1)//f]
answer.append(ans)
queue.remove(ans)
n-=1
k%=f
answer.append(queue[0])
return answer
'문제풀이 > 기타' 카테고리의 다른 글
[파이썬] Pro 수식 최대화 (0) | 2024.01.12 |
---|---|
[파이썬] Pro 삼각 달팽이 (0) | 2024.01.11 |
[파이썬] Pro 택배상자 (0) | 2023.12.21 |
[파이썬] Pro 과제 진행하기 (0) | 2023.12.20 |
[JAVA] [분할정복] Pro 쿼드압축 후 개수 세기 (0) | 2023.07.26 |