Daily coding

Java Basic : day 6 - Example 02 : Shuffle 메소드로 구현하기 본문

Language/Java_basic

Java Basic : day 6 - Example 02 : Shuffle 메소드로 구현하기

sunnnkim 2019. 11. 26. 18:20
package day6;

import java.util.Arrays;

public class Ex02_ShuffleMethod {
	public static void main(String[] args) {
	
		/*
			메소드명 : shuffle
			기 능 : 주어진 배열에 담긴 값의 위치를 바꾸는 작업을 반복하여 뒤섞이게 한다.
			처리한 배열을 반환한다.
			반환타입 : int[]
			매개변수 : int[] arr – 정수 값이 담긴 배열

		 */
		int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
		System.out.println("shuffle 전 : " + Arrays.toString(arr));
		int shuffle[] = shuffle(arr);
		System.out.println("shuffle 후 : " + Arrays.toString(shuffle));
	
		
		
}
	
	private static int[] shuffle(int[] arr) {
		int[] shuffleNum = new int[arr.length];
		shuffleNum = arr.clone();
		for (int i = 0; i < 1000 ; i++) {
			int r1, r2, temp;
			r1 = (int)(Math.random()*arr.length);
			r2 = (int)(Math.random()*arr.length);
			temp = shuffleNum[r1];
			shuffleNum[r1] = shuffleNum[r2];
			shuffleNum[r2] = temp;
		}
	
	return shuffleNum;
	}
	
	
	
}