문제 링크 : https://app.codility.com/programmers/lessons/2-arrays/cyclic_rotation/
CyclicRotation coding task - Learn to Code - Codility
Rotate an array to the right by a given number of steps.
app.codility.com
배열 A과 정수 K가 주어지면, K만큼 원소들이 shift된 결과를 return하면 됩니다. 예를 들어서, A = [1, 2, 3, 4, 5], K = 3이면 정답은 [3, 4, 5, 1, 2]가 됩니다. 1, 2는 3칸씩 뒤로 밀리고, 나머지는 다시 앞쪽으로 돌아와서 밀리기 때문에 문제 이름이 cyclic rotation인 것 같네요.
def solution(A, K):
num = len(A)
if num != 0: #Empty list check
return A[-(K%num):] + A[:-(K%num)] #num < K check
else:
return A
배열 A가 empty list인 경우, 그리고 배열 A의 길이가 K보다 작아서 원소들이 한 바퀴 이상 도는 경우를 감안해야 합니다.
'알고리즘 문제풀이 > Codility' 카테고리의 다른 글
Lesson 2 : Arrays - OddOccurrencesInArray (0) | 2020.08.07 |
---|---|
Lesson 1 : Iterations - BinaryGap (0) | 2020.08.07 |