08. 두 원소의 차 중 최댓값 구하기

728x90

08. 두 원소의 차 중 최댓값 구하기

두 원소의 차 중 최댓값 구하기

 파라미터로 정수 배열 intArray를 받고, 두 원소의 차이 중 가장 큰 값을 리턴해주는 메소드 greatestDifference를 쓰세요. 리턴값의 자료형은 int입니다.

 

 만약 원소 개수가 2개보다 작으면 0을 리턴해줍니다.

 

테스트

 

첫번째 배열 = {-2, 7, 3}

두번째 배열 = {8, 3, 14, 1}

세번째 배열 = {4, 2, 3, 1}

네번째 배열 = { }

다섯번째 배열 = {1, 2, -3, 4, 5}

여섯번째 배열 = {1}


이 실행결과가 나와야 합니다.

9
13
3
0
8
0

A. 해설

GreatestDifferenceFinder 클래스

public class GreatestDifferenceFinder {
    int greatestDifference(int[] intArray) {
    	// 원소의 개수가 2개 미만일 때
        if (intArray.length < 2) {
            return 0;
        }
		
        // 각각 0번째 원소를 최댓값, 최솟값 설정
        int max = intArray[0];
        int min = intArray[0];

        // 인덱스[i]가 0일 때 부터 배열의 길이만큼 for문이 돌아간다.
        for (int i = 0; i < intArray.length; i++) {
            // 최댓값보다 원소가 더 크면 그 원소를 최댓값으로 지정
            if (max < intArray[i]) {
                max = intArray[i];
            }
            // 최솟값보다 원소가 더 작으면 그 원소를 최솟값으로 지정
            if (min > intArray[i]) {
                min = intArray[i];
            }
        }
		
        // 최댓값에서 최솟값의 차를 리턴
        return max - min;
    }
}

 

Main 클래스

public class Main {
    public static void main(String[] args) {
        GreatestDifferenceFinder finder = new GreatestDifferenceFinder();
		
        // 테스트 1
        int[] testArray1 = {-2, 7, 3};
        System.out.println(finder.greatestDifference(testArray1));

        // 테스트 2
        int[] testArray2 = {8, 3, 14, 1};
        System.out.println(finder.greatestDifference(testArray2));

        // 테스트 3
        int[] testArray3 = {4, 2, 3, 1};
        System.out.println(finder.greatestDifference(testArray3));

        // 테스트 4
        int[] testArray4 = {};
        System.out.println(finder.greatestDifference(testArray4));
		
        // 테스트 5
        int[] testArray5 = {1, 2, -3, 4, 5};
        System.out.println(finder.greatestDifference(testArray5));

        // 테스트 6
        int[] testArray6 = {1};
        System.out.println(finder.greatestDifference(testArray6));
    }
}

 

 

 

 

 

출처 | 코드잇 (자바 기초)

728x90

'💠문제 풀이 > Java 문제 풀이' 카테고리의 다른 글

10. 피라미드 그리기  (0) 2021.10.06
09. 삼각형 그리기  (0) 2021.10.06
07. 평균값 계산기  (0) 2021.10.06
06. 특가 할인 매장  (0) 2021.10.05
05. 은행 계좌 만들기 (5)  (0) 2021.10.05