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 |