[프로그래머스] 최댓값과 최솟값

JIHYUN·2021년 8월 26일
0

📌최댓값과 최솟값

문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.

📌제한사항

  • s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.

📌입 출력 예

sreturn
"1 2 3 4""1 4"
"-1 -2 -3 -4""-4 -1"
"-1 -1""-1 -1"

📌사용 언어 : JAVA

📌solution

class Solution {
    public String solution(String s) {
        String answer = "";
        
        String[] arr1 = s.split(" ");
        int[] arr2 = new int[arr1.length];
        
        for(int i = 0; i < arr1.length; i++){
            arr2[i] = Integer.parseInt(arr1[i]);
        }
        for(int i = 0; i < arr2.length; i++) {
            for(int j = 0 ; j < arr2.length - i - 1 ; j++) {
                if(arr2[j] > arr2[j+1]) {
                    int temp = arr2[j+1];
                    arr2[j+1] = arr2[j];
                    arr2[j] = temp;
                }
            }
        }

        answer += arr2[0];
        answer += " ";
        answer += arr2[arr2.length-1];
        return answer;
    }
}

😎풀이

받아온 s 값을 하나씩 나누어 String 배열 arr1로 만들어준다.
arr1의 값을 int 배열 arr2에 담은 후 내림차순으로 정렬해준다. 그리고 정렬한 결과를 확인하면 arr2[0]에는 배열 내에서 가장 작은 수가, arr2[arr2.length-1]에는 배열 내에서 가장 큰 수가 담기게 되어 그것들을 answer에 담은 후 반환하면 된다.

profile
이것저것 공부중

0개의 댓글