PS

[백준/Python] (S4) 요세푸스 문제 - 1158

MSHUN 2024. 3. 10.
반응형

Baekjoon Online Judge의 1759번 암호만들기 문제의 Python 풀이입니다.

 

1158번: 요세푸스 문제

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

www.acmicpc.net

💻코드

from collections import deque

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

queue = deque(range(1, n + 1))

removed = []

# deque에 아이템이 있는 동안 반복
while queue:
    # k-1번 만큼 deque의 앞에서 빼서 뒤에 추가함 (k번째 사람을 맨 앞으로 이동)
    queue.rotate(-k + 1)
    # 맨 앞의 사람을 제거하고 removed 리스트에 추가
    removed.append(queue.popleft())

# 제거된 사람들의 번호를 출력 형식에 맞게 출력
print("<" + ", ".join(map(str, removed)) + ">")

🧠풀이

deque 이용해서 풀기

🤔느낀 점

dddddddeque 

Baekjoon Online Judge

반응형

댓글