문제

문제 접근
- 배열의 길이를 2로 나누면 n값과 동일하다.
- 배열의 n인덱스 기준으로 좌우로 나뉜다.
- 좌우로 나뉜 배열을 다시 좌1우1좌2우2...좌n우n 으로 재배열 시킨다.
풀이
class Solution {
public int[] shuffle(int[] nums, int n) {
int[] arrA = new int[n];
int[] arrB = new int[n];
int[] arrTot = new int[nums.length];
for(int i=0; i<n;i++)
{
arrA[i]=nums[i];
arrB[i]=nums[n+i];
}
for(int j=0; j<nums.length;j++){
if(j%2==0)
arrTot[j]=arrA[j/2];
else
arrTot[j]=arrB[j/2];
}
return arrTot;
}
}
깔끔한 코드
lass Solution {
public int[] shuffle(int[] nums, int n) {
int[] result = new int[2 * n];
for (int i = 0; i < n; i++) {
result[2 * i] = nums[i];
result[2 * i + 1] = nums[i + n];
}
return result;
}
}