문제
풀이
디큐를 구현한 다음 가장 위에 있는 카드를 버리고 그 다음 맨 위 카드를 맨 아래로 옮기는 작업을 반복한다
카드가 1장 남았을 때 남은 카드를 출력한다
코드
from collections import deque
n = int(input())
lst = [i for i in range(1, n+1)]
q = deque()
for i in lst:
q.append(i)
while len(q) != 1:
q.popleft()
x = q.popleft()
q.append(x)
print(q[0])
'Koala - 16기 > 코딩테스트 심화 스터디' 카테고리의 다른 글
[BOJ/Python3] 17298번 오큰수 (0) | 2024.11.04 |
---|---|
[백준/Python] 3986번: 좋은 단어 (0) | 2024.11.03 |
[python] 백준 12789 도키도키 간식드리미 (0) | 2024.11.02 |
[백준/C++] 19951번: 태상이의 훈련소 생활 (0) | 2024.10.27 |
[백준/Python] 1912번: 연속합 (0) | 2024.10.27 |