본문 바로가기
TechNical/JAVA

[codility] CyclicRotation

by 강멍멍이 2018. 1. 12.
반응형

Q. 배열값을 지정한 횟수만큼 롤링으로 우측 한칸씩 이동하세요.

    A = {3, 8, 9, 7, 6}

    K = 3

A. {9, 7, 6, 3, 8}

 

첨에.. int[] B = A; 로 했더니 생각했던 값이 안 나와서 뭐지 라고 고민 했는데...

역시 멍청이는 힘들다. 위와 같이하면 주소값이 복사가 되는 거라서 같은 값을 가지게 된다.

어레이카피를 하거나 클론을 해야 독립적으로 각각 값을 가지게 된다.

 

public int[] solution(int[] A, int K){

int[] B = A.clone();

}

for(int i = 0 ; i < K ; i++){

for(int l = 0 ; l < B.length - 1 ; l++){

B[l + 1] = A[l];

}

B[0] = A[A.length - 1];

A = B.clone();

}

return B;

}

반응형

댓글