코딩테스트/programmers (python)
Programmers / 2단계 / 줄 서는 방법 / python
seulll
2024. 5. 16. 16:17
https://school.programmers.co.kr/learn/courses/30/lessons/12936
코드
import math
def solution(n, k):
arr = list(range(1, n + 1))
answer = []
while arr:
a = (k - 1) // math.factorial(n - 1)
answer.append(arr.pop(a))
k = k % math.factorial(n - 1)
n -= 1
return answer
처음에 순열을 사용하여 접근하려고 했으나 통과하지 못하여서 다른 풀이를 참고하였다.
수학적으로 팩토리얼을 이용해 접근할 수 있었다.
참조
https://recordofwonseok.tistory.com/73
(Python) - 프로그래머스 : 줄 서는 방법
https://programmers.co.kr/learn/courses/30/lessons/12936 코딩테스트 연습 - 줄 서는 방법 n명의 사람이 일렬로 줄을 서고 있습니다. n명의 사람들에게는 각각 1번부터 n번까지 번호가 매겨져 있습니다. n명이
recordofwonseok.tistory.com