문제링크 : www.acmicpc.net/problem/2164
deque를 사용하면 문제가 아주 간단해진다.
문제 설명에 나와있는대로 위에 있는 카드를 뺄 때는 deque.popleft()를 하면 되고, 위에 있는 카드를 아래로 옮길 때는 deque.popleft()값을 append해주면 된다.
import sys
from collections import deque
N = int(sys.stdin.readline())
deque = deque([i+1 for i in range(N)])
while len(deque) > 1:
deque.popleft()
deque.append(deque.popleft())
print(deque[0])
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 2667번 - 단지번호붙이기 (0) | 2021.01.13 |
---|---|
[백준] 1003번 - 피보나치 함수 (0) | 2021.01.04 |
[백준] 14888번 - 연산자 끼워넣기 (0) | 2021.01.04 |
[백준] 15650번 - N과 M(2) (0) | 2021.01.03 |
[백준] 15649번 - N과 M(1) (0) | 2021.01.03 |