본문 바로가기
Language/알고리즘 개념정리

자바 최대값(Max) 알고리즘 정리

by wakestand 2021. 5. 27.
반응형

최대값 알고리즘이란

주어진 범위의 값 중에서 가장 큰 값을 말하는데

 

최소값을 정하고 for 문을 돌려주면서

가장 큰 값을 찾아주면 되는 식이다

 

먼저 최대값을 찾기 전

변수를 선언하고 Integer.MIN_VALUE; 를 사용해서

int 타입에서 최소값을 지정해줘야 하는데

이걸 왜 하나 싶을거다

 

범위 내의 값이 모두 양수라면

int 변수명 = 0; 을 해줘도 되겠지만

최대값이 음수일 경우에는 최대값을 구할 수 없고

초기화 시킬때 값을 정해주기 애매하기 때문에

Integer.MIN_VALUE; 를 넣어주게 되는 거다

 

이후 for 문을 돌리면서

현재 최대값보다 더 큰 값이 나오면

최대값을 변경하는 식으로 범위를 돌려준 후

for 문을 모두 돌고 나면

 

범위 내에서 가장 큰 값으로

이미 할당이 되어 있을 것이기 때문에

그걸 반환해주면 끝이 난다

 

마지막으로 예제에 사용한 코드는 다음과 같다

 

public class MaxExample {

	public static void main(String[] args) {
		// 최대값 알고리즘(Max Algorithm)
		// 주어진 범위의 값 중 가장 큰 값
		int answer = Integer.MIN_VALUE; // int에서 가장 작은 값을 초기값으로 설정
		
		int[] arr = {-10, 0, 10, 25, -90}; // 배열 설정
		
		for(int i = 0; i<arr.length; i++) {
			if(arr[i] > answer) { // 배열 안의 i번째 값이 최대값보다 크다면 
				answer = arr[i]; // 최대값 변경
			}
		}
		
		System.out.println("Answer : " + answer);
	}

}
반응형

댓글