[Algorithm] 백준 1158 : 요세푸스 문제

채멈·2024년 1월 3일

Algorithm

목록 보기
3/24
post-thumbnail

문제
https://www.acmicpc.net/problem/1158
풀이
https://github.com/nowChae/algorithm/blob/master/%EB%B0%B1%EC%A4%80/Silver/1158.%E2%80%85%EC%9A%94%EC%84%B8%ED%91%B8%EC%8A%A4%E2%80%85%EB%AC%B8%EC%A0%9C/%EC%9A%94%EC%84%B8%ED%91%B8%EC%8A%A4%E2%80%85%EB%AC%B8%EC%A0%9C.py



문제를 읽고 (7, 3)에 대해 직접 손으로 그려봤을 때 위와 같은 순서대로 실행되었다.


큐를 사용하기 위해 python의 deque 라이브러리를 이용해 구현해보았다.

< 풀이 코드 >

import sys
from collections import deque

N, K = map(int, sys.stdin.readline().split())

queue = deque()
for i in range(1, N+1):
  queue.append(str(i))

result = []
count = 1
while queue:
  if count == K:
    r = queue.popleft()
    result.append(r)
    count = 1
  else:
    a = queue.popleft()
    queue.append(a)
    count+=1
  
print('<'+', '.join(result)+'>')
profile
공부 기록 차곡차곡 ( ੭ ・ᴗ・ )੭

0개의 댓글