본문 바로가기

프로그래머스(Java)/Level 2

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

728x90

Java로 문자열에서 최솟값과 최댓값 구하기

 

문제 설명

주어진 문자열 s는 공백으로 구분된 숫자들로 이루어져 있습니다.

이 문자열에서 숫자들을 분리하여 최솟값과 최댓값을 찾아 출력하는 것이 목표입니다.

코드 설명

아래는 최솟값과 최댓값을 찾는 solution 메서드의 전체 코드입니다:

 

힌트 1: 문자열 분리하기

먼저 주어진 문자열을 공백을 기준으로 나눌 필요가 있습니다. Java에서 문자열을 특정 문자를 기준으로 나누는 메서드를 찾아보세요.

// 주어진 문자열 s를 공백을 기준으로 나누어 배열에 저장합니다.
String[] tmpArr = s.split(" ");

힌트 2: 문자열을 정수로 변환하기

문자열 배열의 각 요소를 정수로 변환해야 합니다. 이를 위해 각 요소를 순회하면서 정수 배열에 저장해보세요.

// 문자열 배열의 각 요소를 정수로 변환하여 새로운 배열에 저장합니다.
int[] result = new int[tmpArr.length];

for (int i = 0; i < tmpArr.length; i++) {
    result[i] = Integer.parseInt(tmpArr[i]);
}

힌트 3: 배열 정렬하기

정수 배열을 오름차순으로 정렬해야 합니다. Java에서 배열을 정렬하는 방법을 찾아보세요.

 

힌트 4: 최솟값과 최댓값 찾기

정렬된 배열에서 첫 번째 요소와 마지막 요소를 찾는 방법을 생각해보세요. 배열의 첫 번째 요소는 최솟값, 마지막 요소는 최댓값입니다.

 

힌트 5: 문자열로 반환하기

최솟값과 최댓값을 문자열로 변환하여 공백으로 구분된 하나의 문자열로 만들어야 합니다.


 

정답은 더보기 클릭

더보기
더보기
import java.util.Arrays;

class Solution {
    public String solution(String s) {
        // 공백을 기준으로 문자열 자르기
        String[] tmpArr = s.split(" "); 
        
        int[] result = new int[tmpArr.length];
        
        // 배열의 원소들을 int로 바꾸어 준다
        for (int i = 0; i < result.length;i++){
            result[i] = Integer.parseInt(tmpArr[i]);
        }
        
        // 오름차순 정렬하기
        Arrays.sort(result);    
        
        // 배열의 최솟값은 0번째 최댓값은 배열의 크기 -1
        // int + String은 String으로 취급이 된다
        return result[0] + " " + result[result.length-1];
    }
}
728x90