1
2
3
4
5
6
7
8
|
from collections import deque
n=int(input())
tmp=deque([i+1 for i in range(n)])
while len(tmp)>1:
tmp.popleft()
tmpNum=tmp.popleft()
tmp.append(tmpNum)
print(tmp[0])
|
cs |
1
2
3
4
5
6
7
|
from collections import deque
n=int(input())
tmp=deque([i+1 for i in range(n)])
while len(tmp)>1:
tmp.popleft()
tmp.rotate(-1)
print(tmp[0])
|
cs |
제일 처음 생각했던건 리스트를 써서 pop을 두번하자 였는데 시간초과 나오더라구요
그래서 collections에 있는 deque를 써서 했고
두번째 코드같은경우에는 deque 안에 rotate 라는 함수를 써서
deque.rotate(-1)은 왼쪽으로 이동
deque.roate(1)은 오른쪽으로 이동 하는 기능도 있어서 같이 올려드립니다.
밑에 코드 출처입니다.
https://velog.io/@pmk4236/%EB%B0%B1%EC%A4%80-2164%EB%B2%88-%EC%B9%B4%EB%93%9C-2-Python
반응형
'python-algorithm' 카테고리의 다른 글
백준 10845 큐 (0) | 2021.08.24 |
---|---|
백준 10824 스택 (0) | 2021.08.24 |
백준 10814 나이순 정렬 (0) | 2021.08.23 |
백준 11650 좌표 정렬하기 (0) | 2021.08.23 |
백준 2702 초6 수학 (0) | 2021.08.19 |
댓글