본문 바로가기

PS/백준

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

728x90

https://www.acmicpc.net/problem/11866

 

11866번: 요세푸스 문제 0

첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000)

www.acmicpc.net

 

큐를 이용해서 빼고 넣기를 반복하다가

k번째 차례가 오면 빼고 넣지않기를 하면되는 문제.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import sys
from collections import deque
 
input = sys.stdin.readline
 
n, k = map(int, input().split())
= deque(range(1, n + 1))
result = "<"
cnt = 0
while q:
    cnt += 1
    # k의 배수번째가 될때
    if cnt % k == 0:
        result += str(q.popleft()) + ", "
    else:
        q.append(q.popleft())
 
result = result[:-2+ ">"
print(result)
 
cs

 

728x90