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

오늘도 자바에서 최댓값과 최솟값이라는 코딩테스트 문제를 푼 것에 대해서 정리해보려고 한다.

문제 설명


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



나의 풀이


class Solution {
    public String solution(String s) {
        String[] answer = s.split(" ");
        int max = 0;
        int min = 0;
        
        for(int i=0 ; i<answer.length; i++) {
            if (i==0) {
                max = maxCalculate(Integer.parseInt(answer[i]), Integer.parseInt(answer[i+1]));
                min = minCalculate(Integer.parseInt(answer[i]), Integer.parseInt(answer[i+1]));
            } else if(i<answer.length-1) {
                max = maxCalculate(max, Integer.parseInt(answer[i+1]));
                min = minCalculate(min, Integer.parseInt(answer[i+1]));
            }
        }
        
        return min + " " + max;
    }
    
    private int maxCalculate(int a, int b) {
        if(a < b) {
            return b;    
        } else {
            return a;
        }
    }
    
     private int minCalculate(int a, int b) {
        if(a < b) {
            return a;    
        } else {
            return b;
        }
    }
}

Categories:

Updated: