[백준 11866 파이썬] 요세푸스 문제 0 (실버 5, 덱)

배코딩·2023년 1월 13일
0

PS(백준)

목록 보기
112/118

알고리즘 유형 : 덱
풀이 참고 없이 스스로 풀었나요? : O

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




소스 코드(파이썬)

import sys
from collections import deque
input = sys.stdin.readline

N, K = map(int, input().split())
q = deque([i for i in range(1, N+1)])
result = []

while q:
    q.rotate(-1*(K-1))
    result.append(q.popleft())

print("<" + ", ".join(map(str, result)) + ">")



풀이 요약

  1. 해당 문제는 맨 처음 위치 또는 제거된 위치(마찬가지로 맨 처음 위치와 같음)를 포함하여 K번째에 있는 수를 계속 반복해서 지우는 문제다.

    따라서 맨 처음 원소를 지우고 K-1번만큼 왼쪽으로 덱을 rotate하는 것을 끝까지 반복하면 된다.



배운 점, 어려웠던 점

  • 전형적인 덱 문제라서 어렵진 않았고 구현력을 조금 기른 것 같다.
profile
PS, 풀스택, 앱 개발, 각종 프로젝트 내용 정리 (https://github.com/minsu-cnu)

0개의 댓글