S.S.G
최대값 최소값 구하기 본문
[문제]
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 Test {
public String getMinMaxString(String str) {
String array[] = str.split(" ");
int[] arrayInt = new int[array.length];
for(int i =0;i<array.length;i++){
arrayInt[i] = Integer.parseInt(array[i]);
}
Arrays.sort(arrayInt);
String answer = arrayInt[0] + " " + arrayInt[array.length-1];
return answer;
}
public static void main(String[] args) {
String str = "1 2 3 4";
Test minMax = new Test();
//아래는 테스트로 출력해 보기 위한 코드입니다.
System.out.println("최대값과 최소값은?" + minMax.getMinMaxString(str));
}
}
실행 결과
최대값과 최소값은? 1 4
나는 StringTokenizer를 사용하여 ArrayList<> 에 하나씩 넣어서 구현하려고 하였는데 잘 안되었다.
위의 답안은 split() 의 특징을 잘 알고 이용하였고, Arrays.sort를 이용하여 간략한 코드로 구현 되었다. 배울점이 많은 코딩이였다.
2.
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;
}
다른사람의 답변. 다양하게 문제를 풀 수 있다.
[문제 및 답안 출처: 헬로월드 (http://tryhelloworld.co.kr)]
'코딩 > 알고리즘' 카테고리의 다른 글
가운데 글자 가져오기 (0) | 2016.07.11 |
---|---|
나누어 떨어지는 숫자 배열 (0) | 2016.07.07 |
평균 구하기 (0) | 2016.07.07 |
문자열 내림차순으로 배치하기 (0) | 2016.07.05 |
짝수와 홀수 (0) | 2016.07.05 |