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 |