Algorithm/프로그래머스

[프로그래머스 Lv.2 / JAVA] 최댓값과 최솟값

베이비코더 2022. 10. 23. 18:32
반응형

문제 설명

문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다.

str에 나타나는 숫자 중 최솟값과 최댓값을 찾아 이를 "(최솟값) (최댓값)" 형태의 문자열을 반환하는 함수, solution을 완성하세요.

예를 들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.

제한 조건

  • s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.
s return
"1 2 3 4" "1 4"
"-1 -2 -3 -4" "-4 -1"
"-1 -1" "-1 -1"
 

Solution.java

class Solution {
    public String solution(String s) {
        String[] splitStr = s.split(" ");

        int max = Integer.parseInt(splitStr[0]);
        int min = Integer.parseInt(splitStr[0]);
        
        for(int tempNum = 0; tempNum < splitStr.length; tempNum++) {
            if(Integer.parseInt(splitStr[tempNum]) < min){
                min = Integer.parseInt(splitStr[tempNum]);
            } else if(Integer.parseInt(splitStr[tempNum]) > max) {
                max = Integer.parseInt(splitStr[tempNum]);
            }
        }
        
        return min + " " + max;
    }
}

문자열 s를 " " 공백으로 나누어 잘라 splitStr 배열에 담았다.

배열의 첫 번째 요소를 최댓값, 최솟값으로 임의로 지정한다.

 

배열을 for루프에 돌려서 그 수가 min보다 작으면 min에 새롭게 대입하고,

max보다 크면 max에 새롭게 대입한다.

 

그리고 min+공백+max를 리턴한다.

반응형