파이썬/백준2164 : 카드2

주리·2022년 7월 27일
0

CodingTestStudy

목록 보기
2/4
post-thumbnail


[ 구조 ]


[ 흐름 ]

  1. n 숫자를 입력받고
  2. for n번 돌리면서 deque 를 만든다
  3. 길이가 1보다 크면
  4. 맨위에 있는거 버리고 -> 그다음 애를 젤 아래로 보낸다
  5. 버린 뒤 위에 있는 애를 num에 넣고 popleft → append

[ 코드 ]

from collections import deque
n = int(input())
que=deque()

for i in range(n):
  que.append(i+1)

while(len(que)>1):
  que.popleft()
  num=que[0]
  que.popleft()
  que.append(num)

print(que[0])

[ 주의 ]

  • "큐"는 insert → remove 이다
  • insert (=append) / remove (popleft)
  • popleft() 를 사용하는 이유
    → 시간이 pop()보다 빠르다 !
    popleft() : O(1)
    pop() : O(n)
profile
완벽한 글 보다, 그 과정들을 기록하는 개발자

0개의 댓글