[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] 두 자리 양의 정수만 입력받기, 드모르간 법칙 (0) | 2023.01.19 |
[JAVA] 사전 / 사후 판단 반복(양수만 입력받기, 정수 자릿수 구하기) (0) | 2023.01.18 |