프로그래머스_최댓값과 최솟값

임정민·2023년 5월 21일
1

알고리즘 문제풀이

목록 보기
44/173
post-thumbnail

코딩테스트 대비 프로그래머스 UI로 문제풀이 시도해보았습니다. 백준 UI랑 조금 달라서 쉬운 문제부터 풀어보았습니다.

문제

https://school.programmers.co.kr/learn/courses/30/lessons/12939?language=java

[나의 풀이]


class Solution {
    
    static int getMax(String [] S){
        int Max = Integer.parseInt(S[0]);
        
        for(int i=0; i<S.length;i++){
            int tmp = Integer.parseInt(S[i]);
            if (Max < Integer.parseInt(S[i])){
                Max = tmp;
            }
        }
        
        return Max;
    }
                            
    static int getMin(String [] S){
        int Min = Integer.parseInt(S[0]);
        
        for(int i=0; i<S.length;i++){
            int tmp = Integer.parseInt(S[i]);
            if (Min > Integer.parseInt(S[i])){
                Min = tmp;
            }
        }
        
        return Min;
    }
    
    public String solution(String s) {
        
        int Max = 0;
        int Min = 0;
        
        String [] S = s.split(" ");
        
        Max = getMax(S);
        Min = getMin(S);
        
        String answer = "";
        
        answer = Integer.toString(Min) + " " + Integer.toString(Max);
        
        return answer;
    }
}

문제 자체는 어렵지 않았습니다. 하지만 IDE에서 자동완성으로 함수를 입력하지 못한다는 점, 또 java로 풀다보니 Python에 비해 코드 작성 시간이 오래 걸리는 경향이 있어 Python으로 준비하는 것이 나을 지 고민입니다...

[다른 사람의 풀이]

public class GetMinMaxString {
    public String getMinMaxString(String str) {
        String[] tmp = str.split(" ");
        int min, max, n;
        min = max = Integer.parseInt(tmp[0]);
        for (int i = 1; i < tmp.length; i++) {
                n = Integer.parseInt(tmp[i]);
            if(min > n) min = n;
            if(max < n) max = n;
        }

        return min + " " + max;

    }

    public static void main(String[] args) {
        String str = "1 2 3 4";
        GetMinMaxString minMax = new GetMinMaxString();
        //아래는 테스트로 출력해 보기 위한 코드입니다.
        System.out.println("최대값과 최소값은?" + minMax.getMinMaxString(str));
    }
}

저의 풀이 이외에 위와 같이 for문은 한 번 돌리며 최소, 최대값을 한번에 구하는 간단히 풀이를 볼 수 있었습니다.

감사합니다.

profile
https://github.com/min731

0개의 댓글