알고리즘
[알고리즘] 최대 값 찾기 알고리즘
KONI_LEE
2023. 11. 27. 14:08
논리
- 0번째 인덱스가 가장 크다고 가정한다.
- 그 다음 인덱스부터 가정한 값과 비교하면서 확인한다.
- 다음 인덱스 값이 가정한 값 보다 크다면 가정한 값을 치환한다.
- 계속 비교해 나간다.
예제
- 배열에 [2, 1, 3, 5, 4]가 들어있다.
- 2를 가장 크다고 가정한다.
- 2를 1번 인덱스부터 비교를 한다.
- 2보다 큰 값이 없다면 2가 최대 값이 된다.
- 2보다 큰 값이 있다면 그 값을 최대 값으로 치환한다.
- 비교를 다시 시작한다.
예제 코드
// 0번 인덱스를 가장 큰 값이라고 가정
int maxIndex=0;
// 1번부터 마지막 인덱스까지 반복
for(int i=1;i<datas.length;i++)
{
//i번 값이 가정 값 보다 크다면
if(datas[i] > datas[maxIndex])
{
//i번 인덱스를 저장
maxIndex=i;
}
}
//출력
System.out.println("최대값은 " + datas[maxIndex] + "이고, ");
//출력
System.out.println("위치는 [" + maxIndex + "]입니다.");
디버깅표
i | i<datas.length | datas[i]>datas[maxIndex] | maxIndex |
---|---|---|---|
1 | T | F | |
2 | T | T | 2 |
3 | T | T | 3 |
4 | T | F | |
5 | F |