Algorithm
[백준 11866] 요세푸스 문제 0
choiht
2023. 4. 21. 18:49
반응형
문제
https://www.acmicpc.net/problem/11866
11866번: 요세푸스 문제 0
첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000)
www.acmicpc.net
풀이
n, k = map(int, input().split())
people = []
answer = []
for i in range(1, n+1):
people.append(i)
while(len(people)):
for i in range(k-1):
tmp = people.pop(0)
people.append(tmp)
tmp = people.pop(0)
answer.append(tmp)
print("<", end='')
print(*answer, sep=', ', end='')
print(">")
큐를 사용하는 문제이다.
1. 리스트에 입력받은 n 만큼 사람들을 넣어놓는다.
2. k-1만큼의 사람은 앞에서부터 빼서 큐에 다시 넣고, k번째 사람은 아예 큐에서 제거한다.
3. 이 과정을 반복한다.
반응형