python 분류
HackerRank ‘Left Rotation’ Solution
컨텐츠 정보
- 2,340 조회
- 0 추천
- 목록
본문
```
#!/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()
```
# Solution
```
# 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)
관련자료
-
링크
댓글 0
등록된 댓글이 없습니다.