코테 노트/프로그래머스

Level 3 줄서는 방법 Python3

화요밍 2021. 8. 13. 00:00
728x90
반응형

https://programmers.co.kr/learn/courses/30/lessons/12936?language=python3 

 

코딩테스트 연습 - 줄 서는 방법

n명의 사람이 일렬로 줄을 서고 있습니다. n명의 사람들에게는 각각 1번부터 n번까지 번호가 매겨져 있습니다. n명이 사람을 줄을 서는 방법은 여러가지 방법이 있습니다. 예를 들어서 3명의 사람

programmers.co.kr

 

최종 코드

 

GitHub - hwayeon351/Programmers-Algorithms: 프로그래머스 알고리즘 소스 코드 모음

프로그래머스 알고리즘 소스 코드 모음. Contribute to hwayeon351/Programmers-Algorithms development by creating an account on GitHub.

github.com

from math import factorial
def solution(n, k):
    answer = []
    people = [p for p in range(1, n+1)]
    while people:
        fac = factorial(n-1)
        q, r = divmod(k, fac)
        if r == 0: q -= 1
        answer.append(people.pop(q))
        k = r
        n -= 1
    return answer

풀이 과정

 

728x90
반응형