DevKim

[Python] 백준 #1158 요세푸스 문제 본문

알고리즘 PS

[Python] 백준 #1158 요세푸스 문제

on_doing 2021. 1. 14. 19:59
728x90

www.acmicpc.net/problem/1158

 

1158번: 요세푸스 문제

첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000)

www.acmicpc.net

이거 다음 요세푸스2가 정말 문제다..

시간초과 때문에 세그먼트 트리를 사용해야한다고한다.

일단 이 문제는 밑에 코드로 통과

from collections import deque
import sys

que=deque()

n,k=map(int,sys.stdin.readline().split())
List=[]
for i in range(n):
    List.append(i+1)

now=k-1
result=[]

while True:
    que.append(List.pop(now))

    if len(List)==0:
        break
    
    now=(now+k-1)%len(List)
            
print("<"+', '.join(map(str,que))+">")
728x90

'알고리즘 PS' 카테고리의 다른 글

[Python] 백준 #2089 -2진수  (0) 2021.01.14
[Python] 백준 #1373 2진수 8진수  (0) 2021.01.14
[Python] 백준 #1406 에디터  (0) 2021.01.14
[Python] 백준 #11655 ROT13  (0) 2021.01.14
[Python] 백준 #10820 문자열 분석  (0) 2021.01.14
Comments