
https://programmers.co.kr/learn/courses/30/lessons/12936
코딩테스트 연습 - 줄 서는 방법
n명의 사람이 일렬로 줄을 서고 있습니다. n명의 사람들에게는 각각 1번부터 n번까지 번호가 매겨져 있습니다. n명이 사람을 줄을 서는 방법은 여러가지 방법이 있습니다. 예를 들어서 3명의 사람
programmers.co.kr
완전 탐색은 시간 초과가 뜨고 나열해서 적다 보면 규칙이 있다 이를 활용하면 풀 수 있음
나의 풀이
import math
def solution(n, k):
answer = []
number = [i for i in range(1, n+1)]
while (n != 0):
temp = math.factorial(n) // n
index, k = k//temp, k%temp
if k == 0:
answer.append(number.pop(index-1))
else :
answer.append(number.pop(index))
n -= 1
return answer
'Programming > Programmers' 카테고리의 다른 글
[프로그래머스] 풍선 터트리기 (Python) (0) | 2021.11.14 |
---|---|
[프로그래머스] 최고의 집합 (Python) (0) | 2021.11.13 |
[프로그래머스] 야근 지수(Python) (0) | 2021.11.13 |
[프로그래머스] 멀리 뛰기(Python) (0) | 2021.11.13 |
[프로그래머스] 거스름돈 (Python) (0) | 2021.11.13 |
댓글