BAEKJOON (Python)/Stack & Queue

BAEKJOON_11866 "요세푸스 문제 0" PYTHON

RiLLa_0511 2023. 4. 29. 22:06
728x90

[백준] 11866번 Python 파이썬

 

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

 

11866번: 요세푸스 문제 0

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

www.acmicpc.net

 

deque를 이용하여 문제를 해결하였다.

 

k번째가 되기 전의 수는 리스트의 뒤로 보내고, k번째 수는 리스트에서 제거하고 결과 리스트에 담아준다.

 

from collections import deque

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

number = deque(range(1, n + 1))
result = []

while number:
    for _ in range(k - 1):
        number.append(number.popleft())
    result.append(number.popleft())

print("<", end = '')
print(', '.join(map(str, result)), end = '')
print(">")

 

위의 코드를 실행하면 아래 사진과 같이 while문이 돌아간다.

 

 

혼자 공부하며 올리는 블로그입니다. 틀린 내용은 댓글 남겨주시면 감사하겠습니다.

 

참고한 코드

1. https://velog.io/@sssm0928/%EB%B0%B1%EC%A4%80-%ED%8C%8C%EC%9D%B4%EC%8D%AC-11866

2. https://youtu.be/rqyJBuxkXAY

 

 

'BAEKJOON (Python) > Stack & Queue' 카테고리의 다른 글

BAEKJOON_10828 "스택" PYTHON  (0) 2023.04.20
BAEKJOON_10773 "제로" PYTHON  (0) 2023.04.19