Eggs Sunny Side Up
본문 바로가기
Algorithm/Java Festival

[Java Festival] 1차원 배열 중 작은 숫자 2개의 위치를 출력

by guswn100059 2023. 3. 15.

public class P_31 {

	public static void main(String[] args) {

		// 숫자가 담긴 1차원 배열이 주어졌을 때,
		// 두 개의 숫자를 뽑아 서로의 거리를 비교한 후
		// 거리가 가장 작은 숫자의 위치(index)를 출력하시오.

		int[] point = { 92, 32, 52, 9, 81, 2, 68 };

		int distance = point[0] - point[1]; // 처음 기준으로 잡은 거리
		int index1 = 0; // 기준 잡았을 때 앞 인덱스
		int index2 = 1; // 기준 잡았을 때 뒤 인덱스

		// point 0번을 기준으로 1부터 끝까지 검색
		// 끝까지 한번 검색 후 1번을 기준으로해서 2부터 끝까지 검색
		// 끝까지 반복
		for (int i = 0; i < point.length; i++) {
			for (int j = i + 1; j < point.length; j++) {
				int temp = point[i] - point[j];
				if (temp < 0) {
					temp *= (-1);
				}
				if (temp < distance) {
					distance = temp;
					index1 = i;
					index2 = j;
				}
			}
		}
		System.out.println("result = [" + index1 + "," + index2 + "]");

	}

}

댓글