본문 바로가기
코딩테스트/파이썬

[백준] 요세푸스 문제0 11866 (파이썬)

by 커피는아아 2021. 3. 16.
반응형

스케치

코드

 

[파이썬] print() 원하는 양식으로 출력하기 (백준 11866 요세푸스 문제)

출력 원하는 방식으로 출력해야 할 때 필요한 코드들이다. 백준 11866 요세푸스 문제를 풀 때 막힌 부분이 출력이어서 정리한다. 2021.03.16 - [Problem-solved (코딩테스트 문제풀이)/python] - [백준] 요세

seongbindb.tistory.com

# 요세푸스 문제0
from collections import deque

n,k = map(int,input().split())

q = deque()
arr = []
for i in range(1,n+1):
     q.append(i)
while q: # 1 2 1
    if len(q) >= k:
        cnt = 1
        while cnt < k:
            q.append(q.popleft())
            cnt += 1
        arr.append(q.popleft())
    else:
        index = k % len(q) 
        cnt = 1
        if index == 0:
            arr.append(q.pop())
        else:
            while cnt < index:
                q.append(q.popleft())
                cnt += 1
            arr.append(q.popleft())

# 출력형식에 맞게 출력하는 것이 쉽지 않았다...
print('<' ,end='')
for i in range(len(arr)):
    if i != len(arr) - 1:
        print("%d, " %arr[i], end='')
    else:
        print("%d>" %arr[i])