SHyeonL / Future_Internet_LAB_Algorithm

미래 인터넷 연구실 알고리즘 스터디
0 stars 0 forks source link

1158 - 요세푸스 문제 #9

Open SHyeonL opened 1 year ago

SHyeonL commented 1 year ago
# 1158 - 요세푸스 문제
import sys
from collections import deque

input = sys.stdin.readline

n, k = map(int, input().split())

people = deque()
for i in range(1, n + 1):
    people.append(i)
cnt = 1
ans = []
while True:
    if not people:
        break
    if cnt == k:
        ans.append(people.popleft())
        cnt = 1
    else:
        people.append(people.popleft())
        cnt += 1

print(str(ans).replace('[', '<').replace(']', '>'))
# replace를 활용하여 출력문을 조절하자~~!!
yuneojin commented 1 year ago
from sys import stdin
import collections

N, K = stdin.readline().split()
N = int(N)
K = int(K)
people = collections.deque()
josephus = []

for i in range(1, N+1):
    people.append(i)

cnt = 1
while len(people) != 0:
    if cnt == K:
        josephus.append(people.popleft())
        cnt = 1
    else:
        m = people.popleft()
        people.append(m)
        cnt += 1

print("<", ", ".join(map(str, josephus)), ">", sep="")