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