취준생의 코딩테스트 연습기

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

코딩테스트/백준

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

Jiwon_C 2021. 3. 25. 23:48

# 문제 링크

www.acmicpc.net/problem/11866

 

11866번: 요세푸스 문제 0

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

www.acmicpc.net

# Soultion

데큐를 이용하여 문제를 풀었다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from collections import deque
 
n,k = map(int,input().split())
= deque()
 
for i in range(1,n+1):
    q.append(i)
    
li = []
print("<",end='')
while q:
    for _ in range(k-1):
        q.append(q.popleft())
    print(q.popleft(),end="")    
    if q:
        print(", ",end="")
 
    
print(">")
cs
 

12. popleft() 함수를 사용하기 위해 k-1번째까지 숫자들을 큐의 마지막으로 넣음

13. k번째 숫자를 출력

15. 숫자뒤에 ,를 출력하기위한 작업

Comments