티스토리 뷰

반응형

n, k = map(int, input().split())
li = list(range(1,n+1)) ## 1부터 n까지 있는 리스트
ans = []
for i in range(n): ## n번 없애야함
    if i == 0: 
        a = k - 1 ## 처음엔 k-1번째 항이 대상이고
    else:
        a += (k - 1) ## 다음부터는 1을 뺀 만큼 간격이 늘어남
                     ## 숫자가 제거되니 항 길이가 줄기 때문
        
    if a >= len(li): ## a가 li의 길이를 넘어가면
        a = a % len(li)  ## 길이만큼 나눠준 나머지로 바꿈
    ans.append(li[a]) ## 더해놓고
    li.remove(li[a]) ## 없애고
    
print('<',end='') ## '<'
for j in range(len(ans)): ## 답을 출력해준다
    if j == len(ans) - 1: ## 마지막엔 '>'
        print(ans[j],end='>')
        break
    print(ans[j], end=', ')
print()
반응형

'프로그래밍 > Python' 카테고리의 다른 글

[Numpy] dot  (0) 2022.11.17
[Numpy] 배열의 평균 (mean)  (0) 2022.11.17
백준 2231 분해합 (파이썬)  (0) 2022.09.20
백준 1065 한수 (파이썬)  (0) 2022.09.14
백준 2839 설탕 배달 (파이썬)  (0) 2022.09.13
반응형
최근에 올라온 글
Total
Today
Yesterday
글 보관함