티스토리 뷰
요세푸스 순열을 구하는 문제이다.
요세푸스 순열을 구할때 유의해야할 점은 배열이 순환한다는 것이다. 이는 배열의 인덱스를 구할때 인덱스가 배열의 크기보다 큰 경우
인덱스는 K-1만큼 커진다.
from sys import stdin
readline = stdin.readline
def get_ys_seq():
idx = K - 1
stack = [i+1 for i in range(N)]
result = []
for _ in range(N):
if len(stack) <= idx:
idx %= len(stack)
result.append(stack.pop(idx))
idx += K - 1
return result
if __name__ == "__main__":
N, K = map(int, readline().split())
print("<"+", ".join(list(map(str, get_ys_seq())))+">")
728x90
'PS > 백준' 카테고리의 다른 글
[백준] 1707 이분 그래프 (0) | 2021.02.25 |
---|---|
[백준] 1992 쿼드트리 (0) | 2021.02.23 |
[백준] 2533 사회망 서비스 (0) | 2021.02.15 |
[백준] 2098 외판원 순회 (0) | 2021.02.15 |
[백준] 1937 욕심쟁이 판다 (0) | 2021.02.10 |
댓글