철갑이의 이모저모

[codility] CyclicRotation with Python 본문

알고리즘

[codility] CyclicRotation with Python

철갑 2022. 4. 14. 19:55
728x90

문제

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를 입력하면 A의 각 요소를 오른쪽으로 K번 이동시키는 문제이다.

pop()은 가장 마지막 요소를 돌려주고 리스트에서는 그 요소를 삭제한다. 그리고 insert(N,M)은 배열의 N번째에 M의 값을 삽입한다. 이를 이용해 배열 A가 존재할때 A의 가장 마지막 요소(A.pop())를 A의 첫번째 위치에 삽입(insert(0,A.pop()) 시키는 방법으로 풀이

def solution(A, K):
    if A : # 배열이 있을때만 실행하도록 
        for i in range(K) :
            A.insert(0,A.pop())
    return A

 

728x90