본문 바로가기

수업 복습하기/Java Quiz

Quiz 24 - Method 연습

728x90
728x90

= Method 연습

 

<문> (난이도 ) (중간까지는 풀었고, 마무리는 해설 참조했음)

/*
 * 정수를 매개변수로 받아서, 
 * 1~매개변수 까지의 값을 배열에 랜덤하게 
 * 넣어서 반환해주는 함수 seat을 생성하세요.
 * 
 * 조건
 * 1.숫자는 중복되지 않습니다
 * 2.swap을 이용하지 않습니다.
 * 
 * 입력-5
 * 출력-[1~5가 랜덤하게 섞여있는 길이가 5인 배열]
 * 
 * 입력-10
 * 출력-[1~10가 랜덤하게 섞여있는 길이가 10인 배열]
 */

 

<정답>

중복되지 않게, 10자리 랜덤으로 숫자가 나오면 된다.

 

<해설>

package quiz02;

import java.util.Arrays;

public class RandomSeat {

public static void main(String[] args) {
    
int[] arr = seat(10);
		System.out.println(Arrays.toString(arr));
	}
	
	static int[] seat(int size) {
		int[] arr = new int[size];
		int index = 0;
		
			start:while(true) {

			int ran = (int)(Math.random() * size) +1;
				//중복검사
				for(int i = 0; i < index; i++) {
				
					if(arr[i] == ran) {
					continue start;
					}
				}	
			arr[index] = ran;
			index++;
			
			if(index == size) break; //탈출
		}
		return arr;
	}
}

728x90