2018년 2월 6일 화요일

[python][hackerrank] Circular Array Rotation

n은 배열 값의 수
k는 right-circular-rotation의 횟수
q는 질의 회수
m은 실제 배열의 값

from collections import deque

n, k, q = map(int, input().strip().split(' '))
m = deque(map(int, input().strip().split(' ')))  # integers
m.rotate(k)  # wow...

for m_i in range(q):
    print(m[int(input())])  # don't need strip(). int() will do this.

혹은 다른 방법을 사용해보자.

n, k, q = map(int, input().strip().split(' '))
m = list(map(int, input().strip().split(' ')))

k %= n; tmp = m[-k:]; del m[-k:]; m[0:0] = tmp

for m_i in range(q):
    print(m[int(input())])  # don't need strip(). int() will do this.

댓글 없음:

댓글 쓰기