Notice
Recent Posts
Recent Comments
Link
HwangHub
[연결리스트 / python] 백준 11866. 요세푸스 문제 0 본문
문제 해석
처음에는 큐 문제일 거라고 생각했고, 사실 맞추고 보니까 큐 문제라고는 하는데, 나는 그냥 연결 리스트 개념으로 풀었다. 다만, 파이썬에서는 연결 리스트 pop() 을 기존에 C++로 구현한 것 처럼 참조변수가 갖는 주소값을 temp 등의 변수에 저장해놓고 중간 노드를 떼어내고 하는 작업이 없기 때문에 연결 리스트라고 인지되지 않을 수 있을 것 같다. 중간 지점을 뽑아낸다는 개념으로 연결 리스트라고 정의하고 시작하겠다. (== 파이썬 리스트와 .pop() 메소드를 활용했다.)
풀이
"""
<pseudo code>
n, k 입력이 주어지면
기본적으로 li = [i for i in range(1,n+1)] 인 리스트가 있고,
이 리스트가 원으로 이루어져 있는 방식
루프를 걸고
idx += k
idx = (idx % n)
ans.append(li.pop(idx))
print("<"+', '.join(map(str, ans))+">")
"""
import sys
input = sys.stdin.readline
n, k = map(int ,input().split())
li = [i for i in range(1,n+1)]
idx = 0
ans = list()
while li:
n = len(li)
idx = (idx + k - 1) % n
ans.append(li.pop(idx))
print("<"+', '.join(map(str, ans))+">")
'workspace > 알고리즘' 카테고리의 다른 글
[스택 / python] 백준 2493. 탑 (0) | 2023.04.06 |
---|---|
[스택 / python] 백준 2812. 크게 만들기 (0) | 2023.04.06 |
[스택 / python] 백준 17298. 오큰수 (0) | 2023.04.06 |
[누적합 / python] 백준 21318. 피아노 체조 (0) | 2023.04.03 |
[이분탐색 / python] 백준 2805. 나무 자르기 (0) | 2023.04.01 |
Comments