문제에서 준 예시를 정리해봤더니 규칙을 찾을 수 있었다.
규칙을 바탕으로 코드를 작성했다.
import sys
input = sys.stdin.readline
n, k = map(int, input().split())
lst = [(i+1) for i in range(n)]
res_lst = []
i = k-1
while True:
res_lst.append(str(lst.pop(i)))
i += (k-1)
# print(lst)
if (len(lst) == 0):
break
while (i >= len(lst) and i != 0):
i -= len(lst)
print('<'+', '.join(res_lst)+'>')
중간에 lst를 계속 출력해보면서 과정이 맞게 진행되고 있는지까지 확인했다.
'백준' 카테고리의 다른 글
[백준] 2231번 파이썬 (분해합) (0) | 2024.02.23 |
---|---|
[백준] 1966번 파이썬 (프린터 큐) (0) | 2024.02.23 |
[백준] 9012번 파이썬 (괄호) (0) | 2024.02.22 |
[백준] 2609번 파이썬 (최대공약수와 최소공배수) (0) | 2024.02.19 |
[백준] 2164번 파이썬 (카드2) (0) | 2024.02.19 |