🐰 배열의 순서를 바꾸는 예제를 풀었다.
public static int[] shuffle(int[] arr) {
Random random = new Random();
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length; j++) {
arr[j] = random.nextInt(arr.length);
arr[i] = arr[j];
}
}
return arr;
}
arr[j] = random.nextInt(arr.length)
부분이 0부터 arr.length-1 값을 무작위로 정수값을 반환하기 때문에 값이 중복되서 나왔다.public static int[] shuffle(int[] arr) {
Random random = new Random();
for (int i = 0; i < arr.length; i++) {
int j = random.nextInt(arr.length);
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
return arr;
}
random.nextInt(arr.length)
메소드를 사용하여 0부터 arr.length-1 사이의 무작위 정수 값을 반환 받고 그 값을 arr[j]에 저장한다.