[6 - 20]
1. 문제설명
2. 나의 해답
package ex6_20;
import java.util.Random;
public class Exercise6_20 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] original = {1,2,3,4,5,6,7,8,9};
System.out.println(java.util.Arrays.toString(original));
int[] result = shuffle(original);
System.out.println(java.util.Arrays.toString(result));
}
private static int[] shuffle(int[] original) {
// TODO Auto-generated method stub
Random rand = new Random();
int j = 0;
System.out.println(j);
for(int i = 0 ; i < 10 ; i++) {
j = rand.nextInt(9);
int temp = original[j];
original[j] = original[j+1];
original[j+1] = temp;
}
return original;
}
}
콘솔
[1, 2, 3, 4, 5, 6, 7, 8, 9]
0
[1, 2, 3, 4, 6, 5, 9, 8, 7]
3. 정답 코드
if(original == null || original.length == 0)
return original;
함수에서 받은 매개변수가 null이거나 길이가 0인경우 그대로 다시 돌려주고 함수를 종료시키는 방법으로
인수에 대한 유효성체크를 할 수있다.
4. 보충 및 회고
(1) 보충
1) 유효성체크가 무엇인지 실제로 체감하게 되었다.
이런것은 디테일의 차이이다. 잘 시도해보자!
(2) 회고 : 문제풀이과정에서 어떻게 접근하려고했는지 (접근방법) + 어려움이 있었는데 해결했다.
1) 문제는 손쉽게 풀수있었다
2) 다만 예상하지못한것이 swap코드를 이용할때 i + 1번째 인덱스로 특정하는 상황을 생각해보면
난수추출은 총 인덱스보다 1작은 수부터 하는것이 바람직하다.
'문제풀이 > 자바' 카테고리의 다른 글
TIL - 자바의정석 연습문제[ch6 - 22] (0) | 2022.12.30 |
---|---|
TIL - 자바의정석 연습문제[ch6 - 21] (0) | 2022.12.30 |
TIL - 자바의정석 연습문제[ch6 - 5] (0) | 2022.12.27 |
TIL - 자바의정석 연습문제[ch6 - 3,4 ] (0) | 2022.12.27 |
TIL - 자바의정석 연습문제[ch6 - 1,2 ] (0) | 2022.12.27 |