[JAVA]

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

미냠 2023. 11. 11. 21:20
반응형

 

이번에는 최댓값과 최솟값 문제를 JAVA로 풀이해봤다. 

 

 

 

입력받은 String에서 양수 음수 상관없이 최댓값 최소값을 리턴하게 하면 된다.  

 

먼저 입력받은 문자열에서 첫번째 값을 저장하고 반복문을 돌면서 비교하게 코드를 작성했다. 

 

class Solution {
    public String solution(String s) {
        String[] arr = s.split(" ");
        int min, max, comp;
        // 첫번째 값
        min = max = Integer.valueOf(arr[0]); 
        // 두번째 값부터 비교 
        for (int i=1; i<arr.length; i++) {
            comp = Integer.valueOf(arr[i]);
            if (min > comp) {
                min = comp;
            } 
            if (max < comp) {
                max = comp;
            }
        }
        return min+" "+max;
    }
}

 

비교적 간단하게 작성했지만 다른 사람들은 뭔가 더 효율적인 방법을 썼을까 싶어서

검색해봤더니 Collections 클래스를 사용했다고 해서 알아봤다.

 

Collections 클래스 활용하면 min, max 라는 메소드를 통해서 최솟값, 최댓값을 바로 가지고 올 수 있다. 

이리 간단할 수가.. ㅎㅎ 

 

위의 문제를 Collections를 활용해서 풀어봤다.

 

ArrayList 형 배열에 입력받는 String을 반복문으로 저장하고

해당 배열을 Collections.min / Collections.max 로 저장하면 바로 확인 가능하다. 

 

import java.util.*;
 
class Solution {
  public String solution(String s) {
      String answer = "";
      ArrayList<Integer> arr = new ArrayList<Integer>();
      String[] str = s.split(" ");
 
      for(int i=0; i<str.length; i++) {
          arr.add(Integer.parseInt(str[i]));
      }
      answer = "" + Collections.min(arr) + " " + Collections.max(arr);
      return answer;
  }
}

 

코드가 한결 깔꼼해졌다. 

반응형