728x90
반응형
두 원소의 차 중 최댓값 구하기
파라미터로 정수 배열 intArray를 받고, 두 원소의 차이 중 가장 큰 값을 리턴해주는 메소드 greatestDifference를 쓰세요. 리턴값의 자료형은 int입니다. 만약, 원소 개수가 2개보다 작으면 0을 리턴해줍니다.
9
13
3
0
8
0
해설
원소 개수가 2개보다 작으면 0을 리턴해줍니다. 이것부터 반영해봅시다.
// 원소가 0개 또는 1개면 0 리턴
if (intArray.length < 2) {
return 0;
}
원소가 2개 이상일 경우에는 어떻게 해야할까요? 두 원소의 차이 중 가장 작은 값을 구하려면, 배열의 최댓값 빼기 최솟값을 하면 되겠죠? 먼저 최댓값과 최솟값을 구하려면 이렇게 하면 되고:
// 최댓값, 최솟값 구하기
int max = intArray[0];
int min = intArray[0];
for (int num : intArray) {
if (num > max) {
max = num;
}
if (num < min) {
min = num;
}
}
그 차이를 리턴해주면 끝납니다.
// 최대 차 리턴
return max - min;
모범 답안
GreatestDifferenceFinder.java
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;
}
}
9
13
3
0
8
0
본인 작성 코드

728x90
반응형
'TIL > Java' 카테고리의 다른 글
[Java] 중간고사: 문제 해결 능력 기르기_피라미드 그리기 (0) | 2022.01.05 |
---|---|
[Java] 중간고사: 문제 해결 능력 기르기_삼각형 그리기 (0) | 2022.01.05 |
[Java] 중간고사: 문제 해결 능력 기르기_평균값 계산기 (0) | 2022.01.05 |
[Java] 실습과제_특가 할인 매장 (0) | 2022.01.05 |
[Java] this (0) | 2022.01.04 |