from collections import deque
import sys
n=int(sys.stdin.readline())
numbers=deque([i for i in range(1,n+1)])
cnt=0
while(cnt<n-1):
numbers.popleft();
numbers.append(numbers.popleft())
cnt+=1
print(numbers[0])
collections 라이브러리의 deque를 사용해야한다
리스트를 사용하면 O(n)의 시간복잡도가 나오지만
deque를 사용하면 O(1)의 시간복잡도가 나오며 실행시간이 매우 줄어든다
'자기개발👨💻 > 코딩 알고리즘' 카테고리의 다른 글
[python] 백준 2775 부녀회장이 될테야 (0) | 2021.07.29 |
---|---|
[python] 백준10816 숫자 카드2 (0) | 2021.07.12 |
[python] 백준11866 요세푸스문제 0 (0) | 2021.07.12 |
[python] 백준10866 덱 (0) | 2021.07.07 |
[python] 백준2839 설탕 배달 (0) | 2021.07.06 |
[python] 백준 4344 평균은 넘겠지 (0) | 2021.07.06 |