728x90
요세푸스 문제 0(11866)
https://www.acmicpc.net/problem/11866
문제

코드
- queue를 활용한 문제
- for문을 활용하여 K번째 되는 수마다 추출해서 result 리스트에 넣도록 함.
# 요세푸스 문제
# 11866
from collections import deque
N, K = map(int, input().split())
queue = deque()
result = []
for i in range(1, N+1):
queue.append(i)
while len(queue) > 0:
for j in range(1, K):
queue.append(queue.popleft()) # 1, 2, ..., K-1까지는 popleft()로 뽑아서 뒤로 넘기기
result.append(str(queue.popleft())) # K번째 값은 popleft()로 결과 창으로 추출
print("<{}>".format(', '.join(result)))
728x90
반응형
'Algorithm > 백준' 카테고리의 다른 글
[백준] 풍선 터뜨리기(2346) - 파이썬 (0) | 2024.06.24 |
---|---|
[백준] 덱2(28279) - 파이썬 (0) | 2024.06.23 |
[백준] 큐2(18258) - 파이썬 (0) | 2024.06.21 |
[백준] 도키도키 간식드리미(12789) - 파이썬 (0) | 2024.06.21 |
[백준] 균형잡힌 세상(4949) - 파이썬 (0) | 2024.06.21 |
728x90
요세푸스 문제 0(11866)
https://www.acmicpc.net/problem/11866
문제

코드
- queue를 활용한 문제
- for문을 활용하여 K번째 되는 수마다 추출해서 result 리스트에 넣도록 함.
# 요세푸스 문제
# 11866
from collections import deque
N, K = map(int, input().split())
queue = deque()
result = []
for i in range(1, N+1):
queue.append(i)
while len(queue) > 0:
for j in range(1, K):
queue.append(queue.popleft()) # 1, 2, ..., K-1까지는 popleft()로 뽑아서 뒤로 넘기기
result.append(str(queue.popleft())) # K번째 값은 popleft()로 결과 창으로 추출
print("<{}>".format(', '.join(result)))
728x90
반응형
'Algorithm > 백준' 카테고리의 다른 글
[백준] 풍선 터뜨리기(2346) - 파이썬 (0) | 2024.06.24 |
---|---|
[백준] 덱2(28279) - 파이썬 (0) | 2024.06.23 |
[백준] 큐2(18258) - 파이썬 (0) | 2024.06.21 |
[백준] 도키도키 간식드리미(12789) - 파이썬 (0) | 2024.06.21 |
[백준] 균형잡힌 세상(4949) - 파이썬 (0) | 2024.06.21 |