이숭간 공부기록
백준 11866번 파이썬 _ 요세푸스 문제 0 본문
728x90
문제유형 : 큐 (자료구조)
문제풀이 :
- 원 형태로 연결되어있는 자료구조를 큐로 구현하기
- 내가 원하는 곳 (타겟지점) 으로 도달하기까지 거치는 것들은 큐에서 빼고 다시 큐에 넣어주는 형식으로 하면 원 형태의 자료구조를 큐로 구현할 수 있다.
- ex ) 1,2,3,4,5,6,7에서 3을 타겟으로 할때 거치는 1,2,는 다시 뒤에 넣어줌으로써 3,4,5,6,7,1,2를 구현할 수 있다.
정답코드 :
import sys
input = sys.stdin.readline
n,k = map(int, input().split())
from collections import deque
q = deque([i for i in range(1, n+1)])
print('<', end='')
while q: #큐가 빌때까지
for i in range(k-1): #k번째 전 요소들을
q.append(q[0]) #뒤에 추가하고
q.popleft() # 앞에서 없애기
print(q.popleft(), end='') #위의 반복문을 수행하면 큐의 맨앞에는 빠져나와야할 k번째 요소가잇음
if q:
print(",", end=' ')
print('>')
'알고리즘 > 백준' 카테고리의 다른 글
백준 14916번 파이썬 _ 거스름돈 (0) | 2021.02.15 |
---|---|
백준 1463번 파이썬 _ 1로 만들기 (0) | 2021.02.15 |
백준 1978번 파이썬 _ 소수찾기 (에라토스테네스의 체) (0) | 2021.02.14 |
백준 1920번 파이썬 _ 수 찾기(이진탐색) (0) | 2021.02.14 |
백준 10814번 파이썬 _ 나이순 정렬 (0) | 2021.02.14 |