SMALL
📌 자바로 배열에서 최대값 구하기
배열에서 최대값을 구하는 방법은 매우 간단합니다. 아래는 정수 배열에서 최대값을 찾는 자바 프로그램입니다.
✅ 1. 기본 코드 예제
import java.util.Scanner;
public class MaxValueInArray {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 배열의 크기 입력받기
System.out.print("배열의 크기를 입력하세요: ");
int size = scanner.nextInt();
int[] array = new int[size];
// 배열 값 입력받기
System.out.println(size + "개의 정수를 입력하세요:");
for (int i = 0; i < size; i++) {
System.out.print((i + 1) + "번째 값: ");
array[i] = scanner.nextInt();
}
// 최대값 찾기
int max = array[0]; // 첫 번째 요소로 초기화
for (int i = 1; i < array.length; i++) {
if (array[i] > max) {
max = array[i];
}
}
// 결과 출력
System.out.println("배열의 최대값: " + max);
scanner.close();
}
}
✅ 2. 코드 설명
- 배열 크기 입력:
- 사용자로부터 배열의 크기를 입력받습니다.
- 배열 요소 입력:
- 반복문을 사용해 배열에 정수를 입력받습니다.
- 최대값 찾기:
- 배열의 첫 번째 요소를 최대값으로 초기화합니다.
- for 반복문을 사용해 배열을 순회하며 각 요소와 최대값을 비교합니다.
- 더 큰 값이 발견되면 max 변수를 업데이트합니다.
- 최대값 출력:
- 최종적으로 최대값을 출력합니다.
✅ 3. 실행 예시
배열의 크기를 입력하세요: 5
5개의 정수를 입력하세요:
1번째 값: 12
2번째 값: 45
3번째 값: 23
4번째 값: 67
5번째 값: 34
배열의 최대값: 67
✅ 4. 배열 초기화 버전 (정적 배열)
배열을 코드에서 직접 초기화할 수도 있습니다.
public class MaxValueInArray {
public static void main(String[] args) {
int[] array = {12, 45, 23, 67, 34};
int max = array[0];
for (int i = 1; i < array.length; i++) {
if (array[i] > max) {
max = array[i];
}
}
System.out.println("배열의 최대값: " + max);
}
}
✅ 5. 스트림을 사용한 최대값 찾기 (Java 8 이상)
Java 8부터는 IntStream을 사용해 배열의 최대값을 간단하게 구할 수 있습니다.
import java.util.Arrays;
public class MaxValueInArray {
public static void main(String[] args) {
int[] array = {12, 45, 23, 67, 34};
int max = Arrays.stream(array).max().getAsInt();
System.out.println("배열의 최대값: " + max);
}
}
✅ 설명:
- Arrays.stream(array) → 배열을 스트림으로 변환합니다.
- .max() → 최대값을 찾습니다.
- .getAsInt() → OptionalInt를 정수로 변환합니다.
✅ 6. 주의사항
- 배열이 비어있는 경우 예외가 발생할 수 있으므로 비어있는 배열을 처리하는 로직이 필요합니다.
- 사용자 입력값 검증을 통해 오류를 방지해야 합니다.
📚 자바 배열 연습문제 10개
✅ 1. 배열의 합 구하기
📌 문제:
정수 배열이 주어졌을 때, 배열의 모든 요소의 합을 구하세요.
💻 풀이 코드:
public class ArraySum {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
int sum = 0;
for (int i = 0; i < array.length; i++) {
sum += array[i];
}
System.out.println("배열의 합: " + sum);
}
}
✅ 2. 배열의 최대값과 최소값 찾기
📌 문제:
정수 배열에서 최대값과 최소값을 찾으세요.
public class MaxMinArray {
public static void main(String[] args) {
int[] array = {10, 5, 20, 8, 15};
int max = array[0];
int min = array[0];
for (int i = 1; i < array.length; i++) {
if (array[i] > max) max = array[i];
if (array[i] < min) min = array[i];
}
System.out.println("최대값: " + max);
System.out.println("최소값: " + min);
}
}
최대값: 20
최소값: 5
✅ 3. 배열 요소 뒤집기
📌 문제:
배열의 요소를 반대로 뒤집어 출력하세요.
import java.util.Arrays;
public class ReverseArray {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
int length = array.length;
for (int i = 0; i < length / 2; i++) {
int temp = array[i];
array[i] = array[length - i - 1];
array[length - i - 1] = temp;
}
System.out.println("뒤집힌 배열: " + Arrays.toString(array));
}
}
뒤집힌 배열: [5, 4, 3, 2, 1]
✅ 4. 짝수와 홀수 분리하기
📌 문제:
배열에서 짝수와 홀수를 분리하여 각각 출력하세요.
public class EvenOddArray {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5, 6};
System.out.print("짝수: ");
for (int i : array) {
if (i % 2 == 0) System.out.print(i + " ");
}
System.out.print("\n홀수: ");
for (int i : array) {
if (i % 2 != 0) System.out.print(i + " ");
}
}
}
짝수: 2 4 6
홀수: 1 3 5
✅ 5. 배열 요소 중복 제거
📌 문제:
배열에서 중복된 요소를 제거하고 고유한 값만 출력하세요.
import java.util.HashSet;
public class RemoveDuplicates {
public static void main(String[] args) {
int[] array = {1, 2, 2, 3, 4, 4, 5};
HashSet<Integer> set = new HashSet<>();
for (int i : array) {
set.add(i);
}
System.out.println("중복 제거: " + set);
}
}
중복 제거: [1, 2, 3, 4, 5]
✅ 6. 배열의 평균값 구하기
📌 문제:
배열의 평균값을 계산하세요.
public class ArrayAverage {
public static void main(String[] args) {
int[] array = {10, 20, 30, 40, 50};
int sum = 0;
for (int i : array) {
sum += i;
}
double average = (double) sum / array.length;
System.out.println("평균: " + average);
}
}
평균: 30.0
✅ 7. 배열에서 특정 값 찾기
📌 문제:
입력한 값이 배열에 있는지 확인하고 인덱스를 출력하세요.
public class FindValue {
public static void main(String[] args) {
int[] array = {5, 8, 12, 7, 19};
int searchValue = 7;
boolean found = false;
for (int i = 0; i < array.length; i++) {
if (array[i] == searchValue) {
System.out.println(searchValue + "은 " + i + "번째 인덱스에 있습니다.");
found = true;
break;
}
}
if (!found) System.out.println("값을 찾을 수 없습니다.");
}
}
7은 3번째 인덱스에 있습니다.
✅ 8. 2차원 배열의 합 구하기
public class TwoDArraySum {
public static void main(String[] args) {
int[][] array = {{1, 2}, {3, 4}, {5, 6}};
int sum = 0;
for (int[] row : array) {
for (int i : row) {
sum += i;
}
}
System.out.println("2차원 배열의 합: " + sum);
}
}
2차원 배열의 합: 21
✅ 9. 배열 정렬
import java.util.Arrays;
public class SortArray {
public static void main(String[] args) {
int[] array = {3, 1, 4, 1, 5, 9};
Arrays.sort(array);
System.out.println("오름차순: " + Arrays.toString(array));
}
}
오름차순: [1, 1, 3, 4, 5, 9]
✅ 10. 배열 회전
public class RotateArray {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
int last = array[array.length - 1];
for (int i = array.length - 1; i > 0; i--) {
array[i] = array[i - 1];
}
array[0] = last;
System.out.println("회전된 배열: " + java.util.Arrays.toString(array));
}
}
회전된 배열: [5, 1, 2, 3, 4]
LIST
'자바 (JAVA)' 카테고리의 다른 글
📚 자바 클래스와 객체 연습문제 10개 및 풀이, 실행 결과 (0) | 2025.01.07 |
---|---|
📚 Java 12+ Switch Expression(표현식) 사용법 (0) | 2025.01.07 |
📚 자바 반복문 문제 풀이 (0) | 2025.01.06 |
📚 자바 조건문 연습문제 (0) | 2025.01.06 |
📚JAVA 12강: JDBC (Java Database Connectivity) (0) | 2025.01.03 |