N, K = list(map(int, input().split()))
peoples = [i+1 for i in range(N)]
sequence = []
idx = K - 1
for _ in range(N):
if idx < len(peoples):
sequence.append(peoples.pop(idx))
idx = idx + K - 1
elif idx >= len(peoples):
idx = idx % len(peoples)
sequence.append(peoples.pop(idx))
idx = idx + K - 1
print ("<", ', '.join(str(i) for i in sequence), ">", sep='')
처음에 조건문을 idx <= len(peoples), idx > len(peoples)로 해서 오답으로 나왔음.
idx랑 len(peoples)가 같은 경우는 인덱스 초과이기 때문.
'Computer Science > 백준 알고리즘' 카테고리의 다른 글
[백준] 1182번 부분수열의 합 (파이썬) (0) | 2022.03.11 |
---|---|
[백준] 1181번 단어 정렬 (파이썬) (0) | 2022.03.11 |
[백준] 1157번 단어 공부 (C++) (0) | 2022.03.11 |
[백준] 1152번 단어의 개수 (C++) (0) | 2022.03.11 |
[백준] 1110번 더하기 사이클 (C++) (0) | 2022.03.11 |