[알고리즘] 백준 2164 : 카드 2 - S4

eternal moment·2023년 4월 18일
0

2023.04.18 풀이

import sys
input=sys.stdin.readline
from collections import deque

n=int(input())
queue=deque(range(1, n+1))

for i in range(n-1):
    queue.popleft()
    k=queue.popleft()
    queue.append(k)

print(queue[0])

다른 풀이

import sys

N = int(sys.stdin.readline())

arr = [i+1 for i in range(N)]

while len(arr) > 1:
    if len(arr) % 2:
        t = [arr[-1]]
        t.extend(arr[1::2])
        arr = t
    else:
        arr = arr[1::2]
        

print(arr[0])

check point

  • 큐가 아닌 풀이로 가장 맨 앞을 제외한 배열 -> arr[1::2]

0개의 댓글