반응형

   문제

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





이번에도 큐를 이용하지 않았다.

문제의 의도는 제거전 숫자를 뒤에 붙이고 원하는 인자를 제거하는 방법을 이용해 큐로 

문제를 풀기를 바랬던거 같다.

속도면에서 많이 느릴거 같다는 생각이 들어 다르게 구현해봤다. 큐를 이용하지는 않았다.

출력조건이 조금 그래서 코드가 지저분하다.

따로 담아서 출력하는 방법을 사용하면 조금 깔끔해 질거같다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
N, K = map(int, input().split())
josephus = [i for i in range(1, N + 1)]
result = []
temp = K - 1
josephus_len=N
print('<',end='')
print(josephus[temp],end='')
josephus.remove(josephus[temp])
josephus_len-=1
temp += K - 1
for i in range(N-1):
    if josephus_len <= temp:#위치가 길이보다 크다면
        temp = temp % josephus_len
    print(', ',end='')
    print(josephus[temp],end='')
    josephus.remove(josephus[temp])#출력한거 제거
    josephus_len-=1#길이
    temp += K - 1#위치
print('>')

cs



반응형

'알고리즘(python) > 자료구조' 카테고리의 다른 글

[Python]Deque 백준 10866  (0) 2020.01.17
[Python]Queue 백준 1966  (0) 2020.01.17
[Python]Queue 백준 2164  (0) 2020.01.15
[Python]Queue 백준 18258  (0) 2020.01.15
[Python]Stack 백준 1874  (0) 2019.12.15
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기