[백준] 1158 요세푸스 문제

파이톨치·2022년 8월 13일
0

백준

목록 보기
12/12

코드

# 입력 받기
n, k = map(int, input().split())

l = [ i for i in range(1, n+1)]
p = []
idx = 0


# 요세푸스 연산 / 얘도 for 문 써도 될 것 같다.
while 1:
    idx += k - 1
    
    if idx >= len(l):
        idx %= len(l)

    p.append(l.pop(idx))

    if len(l) == 0:
        break

# 출력 / 내가 쓴거 지면 지저분하다 
print("<", end = "")
for i in range(n-1):
    print(p[i], end=", ")

print(f"{p[n-1]}>")

문제 링크

https://www.acmicpc.net/problem/1158

profile
안알랴줌

0개의 댓글