반응형
최대값 알고리즘이란
주어진 범위의 값 중에서 가장 큰 값을 말하는데
최소값을 정하고 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);
}
}
반응형
'Language > 알고리즘 개념정리' 카테고리의 다른 글
자바 근사값(Near) 알고리즘 정리 (0) | 2021.05.29 |
---|---|
자바 최소값(Min) 알고리즘 정리 (0) | 2021.05.29 |
자바 평균(Average) 알고리즘 정리 (0) | 2021.05.26 |
자바 개수(Count) 알고리즘 정리 (0) | 2021.05.25 |
자바 등차수열 알고리즘 정리 (0) | 2021.05.25 |
댓글