본문 바로가기
Java (국비)/Java 이론

최대값, 최소값 알고리즘

by Hwanii_ 2023. 5. 6.
728x90

자바 배열 파트를 공부하다가 최대값, 최소값을 구해야 하는 상황이 생겼다.

 

 

먼저, 위와 같은 배열이 있다고 해보자.

 

 

위와 같이 최대값을 의미하는 변수 max를 arr[0] 으로 잡아 주는 것이다.

arr[0]은 1이고, 1을 기준으로 잡아서 루프를 돌은다.

for문 안에 초기식이 i = 1; 인 이유는 arr[0]은 비교할 필요가 없기 때문이다.

arr[1] 부터 비교를 해야하기 때문에 초기식은 위와 같게 된다.

 

반복 1회차를 보자.

만약 arr[0]이 arr[1] 보다 작아 ?

true.

그러면, arr[1]의 값을 max에 저장해.

 

반복 2회차.

만약 arr[1]이 arr[2] 보다 작아 ?

true.

그러면, arr[2]의 값을 max에 저장해.

 

반복 3회차.

만약 arr[2]가 arr[3] 보다 작아 ?

true.

그러면, arr[3]의 값을 max에 저장해.

 

반복 4회차.

만약 arr[3]이 arr[4] 보다 작아 ?

true.

그러면, arr[4]의 값을 max에 저장해.

 

반복문 종료.

 

만약에, if문의 조건식이 참이 아니라면,

max 값이 바뀌지 않고 다음 반복으로 넘어 간다.

 

최소값도 마찬 가지 이다.

다만, 조건식의 부등호만 바뀌면 된다.

 

 

정상적으로 나온 모습이다.

 

결론 :

기준을 0번째 배열로 잡고 루프 문으로 다음값과 비교후 조건에 맞으면 새롭게 변경, 아니라면 유지 후 다시 루프 이다.

반응형

'Java (국비) > Java 이론' 카테고리의 다른 글

Java  (0) 2023.05.11
객체지향언어 (Object Oriented Language) 특징  (2) 2023.05.10
함수 간단 정리  (0) 2023.05.09
Flag 알고리즘  (2) 2023.05.06
두 변수의 값 바꾸기  (0) 2023.05.06