알고리즘

[백준, 파이썬, 1158번] 요세푸스 문제

hminor 2023. 9. 23. 11:30

 

풀이

 

  • 해당 문제는 단순히 인덱스를 활용한 문제로 보여
  • list의 del 을 사용하면서 제거한 값을 출력하여 해결

 

import sys
input = sys.stdin.readline
n,k = map(int,input().split())
li = [i for i in range(1,n+1)]
print('<',end='')
idx = 0
while li:
    ln = idx+k-1
    if ln >= len(li): ln = ln%len(li)
    if len(li) > 1: print(li[ln], end=', ')
    else: print(li[ln], end='>')
    del li[ln]
    idx = ln