#3 최댓값과 최솟값
문제: https://programmers.co.kr/learn/courses/30/lessons/12939
1. 문제 설명
문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 (최소값) (최대값)형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를들어 s가 1 2 3 4라면 1 4를 리턴하고, -1 -2 -3 -4라면 -4 -1을 리턴하면 됩니다.
2. 나의 코드
import java.util.*;
class Solution {
public String solution(String s) {
String answer = "";
String [] sp = s.split(" ");
int temp =0;
int max = Integer.parseInt(sp[0]);;
int min = Integer.parseInt(sp[0]);;
for(int i =0 ; i < sp.length; i++) {
temp = Integer.parseInt(sp[i]);
if(max < temp)
max = temp;
}
for(int i =0 ; i < sp.length; i++) {
temp = Integer.parseInt(sp[i]);
if(min > temp)
min = temp;
}
answer += (String.valueOf(min)+" ");
answer += String.valueOf(max);
return answer;
}
}
3. 다른 사람 코드
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;
}
4. 보완
min = max = something // 이렇게 연속 할당이 가능하다.
String.valueOf() 메소드를 이용하지 않고, int+"" 만 해줘도 문자열 변환이 가능하다.
결국, answer += String.valueOf(min)+" ";
answer += String,valueOF(max);
==>
answer += min+" "+max;
이렇게 한줄로도 정리할 수 있다.

