July 06, 2020
문제 : https://www.hackerrank.com
출처 : https://www.martinkysel.com/
#!/bin/python3
import math
import os
import random
import re
import sys
# Complete the rotLeft function below.
def rotLeft(a, d):
if __name__ == '__main__':
fptr = open(os.environ['OUTPUT_PATH'], 'w')
nd = input().split()
n = int(nd[0])
d = int(nd[1])
a = list(map(int, input().rstrip().split()))
result = rotLeft(a, d)
fptr.write(' '.join(map(str, result)))
fptr.write('\n')
fptr.close()
# Complete the rotLeft function below.
def rotLeft(a, d):
return a[d:] + a[:d]
배열의 [1,2,3,4,5] 가 2회전 하면
[3,4,5,1,2]가 됨.
처음에는 loop돌려서 하는 방법을 생각했지만
해답을 보니 생각보다 단순 했음.
a[d:] # d 번째 뒤에 있는 배열 모두
a[:d] # d 번째 앞에 있는 배열 모두
시간 복잡도: O(N) 공간 복잡도: O(N)