[JAVA] n개의 데이터 최댓값 구하기(난수 사용)자료구조 & 알고리즘/알고리즘2023. 1. 20. 01:00
      Table of Contents
        Do it! 자료구조와 함께 배우는 알고리즘 입문[자바편] 연습문제와 실습문제입니다.
배열, 난수 사용, 최댓값 구하기
n명의 사람 수를 받아오고, 랜덤으로 사람키를 지정해서 최댓값 출력
import java.util.Random;
import java.util.Scanner;
public class Main{
    static int maxOf(int[] a) {
        int max = a[0];
        for (int i = 1; i < a.length; i++)
            if (a[i] > max)
                max = a[i];
        return max;
    }
		
    public static void main(String[] args) {
        Random rand = new Random();
        Scanner stdIn = new Scanner(System.in);
        System.out.print("사람 수 : ");
        int num = stdIn.nextInt();				// 배열의 요솟수를 입력 받음
        int[] height = new int[num];			// 요솟수가 num인 배열을 생성
        System.out.println("키 값은 아래와 같습니다.");
        for (int i = 0; i < num; i++) {
            height[i] = 100 + rand.nextInt(90);		// 요소의 값을 난수로 결정
            System.out.println("height[" + i + "]:" + height[i]);
        }
        System.out.println("최댓값은 " + maxOf(height) + "입니다.");
    }
}
/*
사람 수 : 18
키 값은 아래와 같습니다.
height[0]:145
height[1]:186
height[2]:129
height[3]:175
height[4]:136
height[5]:161
height[6]:111
height[7]:142
height[8]:181
height[9]:126
height[10]:178
height[11]:100
height[12]:113
height[13]:132
height[14]:122
height[15]:127
height[16]:106
height[17]:185
최댓값은 186입니다.
*/
1~100개의 데이터 수를 랜덤으로 생성한 후, 0~10000의 데이터를 랜덤으로 입력한 후 최댓값 출력
import java.util.Random;
public class Main{
    static int maxOf(int[] arr) {
        int max = arr[0];
        for(int i = 1; i < arr.length; ++i)
        {
            if(max < arr[i]) max = arr[i];
        }
        return max;
    }
		
    public static void main(String[] args) {
        Random rand = new Random();
        int num = rand.nextInt(1,101);
        int[] arr = new int[num];
        for (int i = 0; i < arr.length; i++) {
            arr[i] = rand.nextInt(10001);
            System.out.print(i + "번째 원소의 값 : ");
            System.out.println(arr[i]);
        }
        System.out.println("최댓값은 " + maxOf(arr) + "입니다.");
    }
}
/*
0번째 원소의 값 : 8929
1번째 원소의 값 : 5458
2번째 원소의 값 : 8705
3번째 원소의 값 : 1236
4번째 원소의 값 : 5730
5번째 원소의 값 : 5667
6번째 원소의 값 : 9866
7번째 원소의 값 : 946
8번째 원소의 값 : 9884
9번째 원소의 값 : 4317
10번째 원소의 값 : 1018
11번째 원소의 값 : 5090
12번째 원소의 값 : 306
13번째 원소의 값 : 3743
14번째 원소의 값 : 58
15번째 원소의 값 : 6879
16번째 원소의 값 : 5951
17번째 원소의 값 : 5974
최댓값은 9884입니다.
*/'자료구조 & 알고리즘 > 알고리즘' 카테고리의 다른 글
| [JAVA] 배열 비교, 복사, 역순으로 복사 알고리즘 (0) | 2023.01.22 | 
|---|---|
| [JAVA] 배열 요소를 역순으로 정렬하는 알고리즘 (0) | 2023.01.21 | 
| [JAVA] 다중루프(중첩 for문) - 곱셈표, 도형, 피라미드 (0) | 2023.01.19 | 
| [JAVA] 두 자리 양의 정수만 입력받기, 드모르간 법칙 (1) | 2023.01.19 | 
| [JAVA] 사전 / 사후 판단 반복(양수만 입력받기, 정수 자릿수 구하기) (0) | 2023.01.18 |