for tc in range(1, int(input()) + 1):
N, M = map(int, input().split())
arr = list(map(int, input().split()))
i = 0
while i < M:
back = arr.pop(0)
arr.append(back)
i += 1
print('#{} {}'.format(tc, arr[0]))
🔑 M번 만큼 배열 맨 앞의 숫자를 뒤로 보내주는 작업을 하기위해 while문
을 사용했다.
from collections import deque
for tc in range(1, int(input()) + 1):
N, M = map(int, input().split())
arr = deque(list(map(int, input().split())))
i = 0
while i < M:
back = arr.popleft()
arr.append(back)
i += 1
print('#{} {}'.format(tc, arr[0]))
💡 deque
을 사용하는 방법이 있다. pop(0)
보다 popleft()
가 더 빠르다고 하여 사용했는데 문제 제출했을때는 pop(0)
가 더 빨랐다. 왜일까? 아마 테스트케이스로 준 예제의 크기가 크지 않아 pop(0)
가 더 빨랐던 것일까? 흠🤔 더 알아보는 걸로 하자...!