백준 온라인 저지 [BOJ]/PYTHON [파이썬]

[백준(BOJ)] 11866번 : 요네푸스 문제 0 - PYTHON[파이썬]

퉁이리 2021. 11. 20. 07:37
반응형

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

 

11866번: 요세푸스 문제 0

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

www.acmicpc.net

 


⊙ 문제

⊙ 입력

⊙ 출력

⊙ 예제 입출력

⊙ 알고리즘 분류

  • 구현
  • 자료 구조

 


 

⊙ 문제 접근 과정

 

우선 큐를 하나 만들어주어 거기에 1부터 N까지 수를 넣어준다.

 

그리고 입력받은 K가 되기 전까지 요소를 빼서 뒤로 넘겨주고, K가 되면 K를 result 배열에 넣어준다.

그렇게 q가 빌 때까지 반복한다.

 

그리고 형식에 맞추어서 출력만 해주면 된다.

 


 

⊙ 문제 풀이

 

from collections import deque

N, K = map(int, input().split())

q = deque()
result = []

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

while q:
    for i in range(K):
        if not i == K-1:
            temp = q.popleft()
            q.append(temp)
        else:
            temp = q.popleft()
            result.append(temp)

print("<", end="")
for i in range(len(result)):
    if not i == len(result)-1:
        print(result[i], end=", ")
    else:
        print(result[i], end="")
print(">")

 


⊙ 결과

 


⊙ 마무리

 

 

NONE

 

 

좋아요는 로그인하지 않아도 누를 수 있습니다!

728x90
반응형