백준 온라인 저지 [BOJ]/PYTHON [파이썬]
[백준(BOJ)] 11866번 : 요네푸스 문제 0 - PYTHON[파이썬]
퉁이리
2021. 11. 20. 07:37
반응형
https://www.acmicpc.net/problem/11866
11866번: 요세푸스 문제 0
첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000)
www.acmicpc.net
⊙ 문제
⊙ 입력
⊙ 출력
⊙ 예제 입출력
⊙ 알고리즘 분류
- 구현
- 자료 구조
- 큐
⊙ 문제 접근 과정
우선 큐를 하나 만들어주어 거기에 1부터 N까지 수를 넣어준다.
그리고 입력받은 K가 되기 전까지 요소를 빼서 뒤로 넘겨주고, K가 되면 K를 result 배열에 넣어준다.
그렇게 q가 빌 때까지 반복한다.
그리고 형식에 맞추어서 출력만 해주면 된다.
⊙ 문제 풀이
from collections import deque
N, K = map(int, input().split())
q = deque()
result = []
for i in range(N):
q.append(i+1)
while q:
for i in range(K):
if not i == K-1:
temp = q.popleft()
q.append(temp)
else:
temp = q.popleft()
result.append(temp)
print("<", end="")
for i in range(len(result)):
if not i == len(result)-1:
print(result[i], end=", ")
else:
print(result[i], end="")
print(">")
⊙ 결과
⊙ 마무리
NONE
좋아요는 로그인하지 않아도 누를 수 있습니다!
728x90
반응형