n, k = map(int, input().split())
circle = list(range(1, n + 1))
result = []
ex_except = 0
while circle:
ex_except = (ex_except + k - 1) % len(circle)
# 인덱스는 0부터 시작하기때문에 k-1 하였습니다.
# 인덱스 값을 초과하여 값이 도출되지 못할 경우가 있습니다.
# 나머지 연산자를 활용하여 배열크기를 초과하지 못하게 했습니다.
result.append(circle.pop(ex_except))
# pop 함수는 인덱스 값을 가져와 삭제합니다.(잘라내기 효과와 비슷)
# cf. remove 함수는 값을 직접 입력해서 삭제합니다.
print("<", end="")
for i in range(n - 1):
print(result[i], end=", ")
print(f"{result[-1]}>")
'코딩 연습 > 백준 코드' 카테고리의 다른 글
수강신청-13414.py (0) | 2023.10.18 |
---|---|
암호해독기-17176.py (0) | 2023.10.18 |
이항계수 (0) | 2023.10.18 |
별찍기(7)-2777.py (0) | 2023.10.15 |
방 번호-1475.py (0) | 2023.10.15 |