solved.ac
부대 사지방에서 velog
하루에 한 문제씩 풀고, 코드 review를 하는 과정을 velog에 담기로 했다.
시작은 실버5이다. 일단 골드까지 올리는 것이 목표지만, 꾸준히 문제를 풀다보면 어느새 올라있지 않을까
👉 11866 요세푸스 문제
def Josephus(arr, visited, n, k):
JosephusArr = []
order = -1
while sum(visited) != n:
cnt = 0
while cnt != k:
order = (order + 1) % n
if visited[order] == 0:
cnt += 1
visited[order] += 1
JosephusArr.append(arr[order])
return JosephusArr
n, k = map(int, input().split())
arr = []
visited = []
for i in range(n):
arr.append(i+1)
visited.append(0)
result = Josephus(arr, visited, n, k)
print('<', end='')
for i in range(n):
if i == n - 1:
print(f'{result[i]}>')
else:
print(f'{result[i]}, ', end='')
단순한 순열 문제이다. 원순열이지만, 1차원 배열에서 index를 mod하는 방식으로 풀었다.
백준 문제 외에 틈틈히 복습하는 자료구조 및 알고리즘에 대해서도 올리려고 한다.
사실 어제 주말동안 힙, 그래프에 대해 간단히 복습했는데 올리기 귀찮다.
벌써 귀찮다니..큰일났네
Author And Source
이 문제에 관하여(solved.ac), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yuchan/solved.ac저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)