CodeWars 일흔 번째 문제
Updated:
Data Reverse
public static int[] DataReverse(int[] data) {
int[] dataArray = new int[data.length];
for(int i = data.length-8, j = 0 ; i >= 0; i-=8, j+=8) {
for(int x = i, y = j; x < i+8; x++, y++) {
dataArray[y] = data[x];
}
}
return dataArray;
}
- Best 코드랑 같은 알고리즘 이었다. 나는 뭔가 쉽게 생각할게 있을 줄 알았는데 없었다.
- 다만 System.arraycopy라는 API를 알게 되었다. 딱봐도 쉽게 사용 가능한 메소드였다.
- 비슷한 문제가 나오면 사용해야겠다.
public static int[] DataReverse(int[] data) {
int bytes[] = new int[data.length];
for (int i = data.length-8, j=0; i>=0; i-=8, j+=8) {
System.arraycopy(data, i, bytes, j, 8);
}
return bytes;
}