[스마트인재개발원 : 빅데이터 13차] JAVA Festival 개인 문제 풀이 - 10번

 Q.8크기의 배열을 선언하고 랜덤수로 초기화 한 후 가장 큰 수와 작은 수를 각각 출력하시오.

8개의 정수형 배열에 1~99 사이의 무작위 수를 저장, 완성된 배열을 순회하여 최소값과 최대값을 찾는 알고리즘이다.


-문제 풀이 및 해석

step1. 무작위 수로 배열 초기화

step1-1. 변수 선언

무작위 수를 저장할 배열(저장 공간 8) : int []ran_num = new int[8]

무작위 수를 생성할 객체 : Random ran = new Random();

step1-2. 각 배열의 값의 무작위 수 초기화

1~99까지의 수로 지정

ran_num[i] = ran.nextInt(99)+1;

※무작위 수 생성 

1.Random 라이브러리 임포트
2.랜덤 클래스 객체 생성(Random ran = new Random())
3.배열에 랜덤값 삽입(ran.nextInt(99)+1)

-함수 해설
Random 클래스 객체 명.nextInt(int n)(0~n-1 사이의 무작위 수)


step2. 최대, 최소 값 탐색

사전에 최대, 최소 값을 저장할 변수를 선언 및 배열의 첫 번째(index : 0)값을 각 변수에 저장한다.

step2-1. 현재의 최소값보다 현재의 배열값이 작다면, 현재의 배열값이 저장된 변수는 최소값으로 초기화된다.

if(min > ran_num[i])
                min = ran_num[i];


step2-2.현재의 최대값보다 현재의 배열값이 크다면, 현재의 배열값이 저장된 변수는 최대값으로 초기화된다.

if(max < ran_num[i])
                max = ran_num[i];

배열에 대한 반복이 종료되기 까지 위 과정을 반복하여, 최대, 최소값에 대한 탐색을 진행한다.


step3. 최대, 최소값 출력

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package test_1;
//Random 라이브러리 import  
import java.util.Random;
 
public class q10 {
 
    public static void main(String[] args) {
    //step1 
        //step1-1
        Random ran = new Random();
        System.out.print("배열에 있는 모든 값 : ");
        int ran_num[] = new int[8];
        
        //step1-2
        for(int i =0; i<ran_num.length; i++) {
            ran_num[i] = ran.nextInt(99)+1;
            System.out.print(ran_num[i]+"  ");
        }
        System.out.println();
        
     //step2
        int min = ran_num[0];
        int max = ran_num[0];
        for(int i =0; i<ran_num.length; i++) {
            //step2-1
            if(min > ran_num[i])
                min = ran_num[i];
            //step2-2
            if(max < ran_num[i])
                max = ran_num[i];
        }
        
    //step3
        System.out.println("가장 큰 값 : " + max);
        System.out.println("가장 작은 값 : " + min);
            
        
    }
 
}
 
cs

댓글