getMinMaxString 메소드는 String형 변수 str을 매개변수로 입력받습니다.
str에는 공백으로 구분된 숫자들이 저장되어 있습니다.
str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 String을 반환하는 메소드를 완성하세요.
예를들어 str이 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.
import java.util.Arrays;
public class GetMinMaxString {
public String getMinMaxString(String str) {
String[] s;
s = str.split(" ");
int[] istr = new int[s.length];
for (int j = 0; j < s.length; j++) {
istr[j] = Integer.parseInt(s[j]);
}
Arrays.sort(istr);
int m,n;
m = istr[0];
n = istr[istr.length-1];
return Integer.toString(m) + " " + Integer.toString(n);
}
public static void main(String[] args) {
String str = "-13 -15 19 9";
GetMinMaxString minMax = new GetMinMaxString();
// 아래는 테스트로 출력해 보기 위한 코드입니다.
System.out.println("최대값과 최소값은?" + minMax.getMinMaxString(str));
}
}
더 간단한 코딩
public class GetMinMaxString {
public String getMinMaxString(String str) {
String[] tmp = str.split(" ");
int min, max, n;
min = max = Integer.parseInt(tmp[0]);
for (int i = 1; i < tmp.length; i++) {
n = Integer.parseInt(tmp[i]);
if(min > n) min = n;
if(max < n) max = n;
}
return min + " " + max;
}
public static void main(String[] args) {
String str = "1 2 3 4";
GetMinMaxString minMax = new GetMinMaxString();
//아래는 테스트로 출력해 보기 위한 코드입니다.
System.out.println("최대값과 최소값은?" + minMax.getMinMaxString(str));
}
}
--------------------------------------------------------------------
처음에 이 문제를 풀때 int 배열을 사용하지 않고 String 배열을 사용해서 풀어보려고 했다.
그러나 Arrays.sort 를 사용해도 정렬하기가 쉽지 않아 결국 int 배열을 사용해서 풀었다.
다음에 방법이 있다면 String 배열을 사용해서 풀어볼것.
'IT > Algorithms' 카테고리의 다른 글
[Level 3] 멀리 뛰기 - Java (피보나치수열) (0) | 2016.07.05 |
---|---|
[Level 1] 나누어 떨어지는 숫자 배열 - Java (0) | 2016.07.05 |
[Level 1] - 문자열 내림차순으로 배치하기 - Java (0) | 2016.07.05 |
(Level 1) 평균 구하기 - Java (0) | 2016.07.05 |