알고리즘 공부/프로그래머스

(Java)프로그래머스 코딩테스트 연습 - 연습문제 - 최댓값과 최솟값

HRuler 2020. 11. 22. 20:12

1. 문제

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

 

코딩테스트 연습 - 최댓값과 최솟값

문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 (최소값) (최대값)형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를

programmers.co.kr

2. 나의 풀이

class Solution {
    public String solution(String s) {
        String answer = "";
        
        String [] s_arr = s.split(" ");
        int small_su = Integer.parseInt(s_arr[0]);
        int big_su = Integer.parseInt(s_arr[0]);
        for(int i = 1; i < s_arr.length; i = i + 1) {
        	if(small_su > Integer.parseInt(s_arr[i])){
        		small_su = Integer.parseInt(s_arr[i]);
        	}
        	if(big_su < Integer.parseInt(s_arr[i])){
        		big_su = Integer.parseInt(s_arr[i]);
        	}
        }
        answer = small_su + " " + big_su;
        return answer;
    }
}

3. 다른 사람 풀이

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));
    }
}