알고리즘 공부/프로그래머스 문제풀이

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

송테이토 2022. 11. 15. 15:15

프로그래머스 최댓값과 최솟 값 자바

문제 설명

문자열 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"

방법 1 - Math.max사용

class Solution {
    public String solution(String s) {
        String [] str =s.split(" ");
        int [] newArr = new int[str.length];
     
        int max = -100000;
        int min = 100000;
        for(int i=0; i<str.length; i++){
            newArr[i]=Integer.parseInt(str[i]);

            max = Math.max(newArr[i], max);
            min = Math.min(newArr[i], min);
        }
   
        
        String answer = min+" "+max;
        return answer;
    }
}

방법 2 -Arrays.sort() 사용

import java.util.Arrays;
class Solution {
    public String solution(String s) {

		   String [] str =s.split(" ");
	        int [] newArr = new int[str.length];
	        
	        for(int i=0; i<newArr.length; i++){
	        	newArr [i]= Integer.parseInt(str[i]);
	        }
	     
	        Arrays.sort(newArr);
	        int min = newArr[0];
	        int max = newArr[newArr.length-1];
	        
	        String answer = min+" "+max;
	        return answer;
    }
}