더북(TheBook)

정답

public String getMinMaxString(String str) {
    String[] strArr = str.split(" ");
    int maxValue = Integer.parseInt(strArr[0]);
    int minValue = Integer.parseInt(strArr[0]);
    for (int i=1; i < strArr.length; i++) {
        int value = Integer.parseInt(strArr[i]);
    
        if(maxValue < value )
            maxValue = value;
        if(minValue > value )
            minValue = value;
        
    }
    return minValue+" "+maxValue;
}

 

해설

숫자로 된 문자열을 입력받아 그 문자열 중에 최댓값과 최솟값을 구하고, 각 값을 문자열로 변환해 반환하는 문제입니다.

 

문제에서 제시한 문자열은 문자열이긴 하지만 숫자로 된 값이 입력됩니다. 내용이 숫자라도 “ ” 안에 들어있으면 숫자가 아니라 문자열로 취급합니다. 값이 “1 2 3 4” 이렇게 하나의 문자열인 것입니다. 하지만 문제의 의도는 공백으로 각 값들을 구분하고 비교해 최댓값과 최솟값을 찾아낸 뒤 최솟값과 최댓값을 문자열로 반환하는 것입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.