Languages/Java

[자바 객체 지향 프로그래밍] 03. 중간고사: 문제 해결 능력 기르기

Dev다D 2021. 2. 1. 20:52
반응형

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

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

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

 

9
13
3
0
8
0

 한번쯤은 짜본 코드같았는데 생각해보니까 학원에서 실습했던 문제와 비슷...

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));
    }
}
public class GreatestDifferenceFinder {
    int greatestDifference(int[] intArray) {

        if (intArray.length < 2) {
            return 0;
        }

        int max = intArray[0];
        int min = intArray[0];

        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;
    }
}

 


본 내용은 Codeit의  '자바 기초' 강의를
참고하여 작성한 내용입니다.

 

반응형