반응형
백준 1158번 요세푸스 문제
파이썬 / 자료구조 / 큐
[문제]
[과정]
- 하나의 리스트를 생성하여 사람의 번호를 저장
- 현재의 인덱스에서 k-1번째의 값을 pop하고 만약 data의 길이를 벗어나는 인덱스일경우 data의 길이만큼 나눠 줌
[소스코드]
# 요세푸스 문제
n,k = map(int, input().split())
data = [i for i in range(1,n+1)]
ans = []
num = 0
for i in range(n):
num += k-1
if num >= len(data):
num = num % len(data)
ans.append(str(data.pop(num)))
print('<', ", ".join(ans), '>', sep='')
[통과]
반응형
'코딩테스트 문제풀이 > beakjoon' 카테고리의 다른 글
[백준] 21608 상어 초등학교 (0) | 2021.08.31 |
---|---|
[백준] 18258 큐 2 (0) | 2021.08.20 |
[백준] 14502 연구소 (0) | 2021.08.16 |
[백준] 21921 블로그 (0) | 2021.08.16 |
[백준] 11659 구간 합 구하기 4 (0) | 2021.08.16 |
댓글