[BOJ] 백준 1158 요세푸스 문제

태환·2024년 2월 1일
0

Coding Test

목록 보기
35/151

📌 [BOJ] 백준 1158 요세푸스 문제

📖 문제

📖 예제

📖 풀이

from collections import deque

N, K = map(int, input().split())

queue = deque()
for i in range(1,N+1):
  queue.append(i)
  
answer = []
while queue:
  for _ in range(K-1):
    queue.append(queue.popleft())
  answer.append(queue.popleft())

print(str(answer).replace('[','<').replace(']','>'))

자료 구조 queue를 이용한다.
K 번째 전의 수들은 for 문에서 popleft()로 뽑아 append()로 다시 넣어준다.
그리고 K 번째 수는 popleft()로 뽑아 출력할 리스트에 넣어준다.

profile
연세대학교 컴퓨터과학과 석사 과정

0개의 댓글