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

+ Recent posts