문제정리

문자열 s 은 공백으로 구분된 숫자
위의 숫자중 최소값과 최대값을 찾아 차례로 리턴

 

내가 생각한 키워드는 공백, 최소값 최대값 순서로 반환, s는 둘 이상의 정수

→ 여기서 좀더 생각해야했던 부분은 문자열 s를 정수로 형 변환 후 다시 문자열로 전환 해야된다는 점

내가 작성한 코드

class Solution {
    public String solution(String s) {
        String answer = "";

        String[] strs = s.split(" ");

        int[] arr = new int[strs.length];


        for (int i = 0; i < strs.length; i++) {
            arr[i] = Integer.parseInt(strs[i]);
        }

        int min = arr[0];
        int max = arr[0];

        for (int k = 0; k < arr.length; k++) {

            if (min > arr[k]) {
                min = arr[k];
            }

            if (max < arr[k]) {
                max = arr[k];
            }
        }

        answer = min + " " + max;

        return answer;
    }
}

 

→ 시간은 20분.. 아무 생각없이 arraylist 도입하려다가 딱 막혀버림..;;;

위에는 진짜 어떻게든 해결하려고 작성한 코드인데 분명히 더 간단한 방식이 있을 것 같다.

 


 

 

다른 분들 코드도 살펴보니 나와 비슷하게 작성한 분이 많았고, 다른 코드는

        String[] array = str.split(" ");
        int[] arrayInt = new int[array.length];

        for (int i = 0; i < arrayInt.length; i++) {
            arrayInt[i] = Integer.parseInt(array[i]);
        }

        Arrays.sort(arrayInt);
        String result = arrayInt[0] + " " + arrayInt[arrayInt.length - 1];

        return result;

 

Arrays.sort

 

그러네 대박.. 오름차순 왜 생각을 못했지
반복문을 다시 사용을 안해도 되는데 음.. 좀 더 활용해보자

+ Recent posts