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

윤민선·2026년 8월 15일

프로그래머스

목록 보기
66/77
post-thumbnail

문제 설명

공백으로 구분된 정수들이 담긴 문자열 s가 주어질 때, 최솟값과 최댓값을 공백으로 구분해서 반환하는 문제이다.

s = "1 2 3 4" → "1 4"
s = "-1 -2 -3 -4" → "-4 -1"

접근 방법

  1. 공백으로 문자열을 나눠 배열로 변환
  2. 문자열 배열을 정수 배열로 변환
  3. 정렬 후 첫 번째(최솟값)와 마지막(최댓값) 반환
    s.split(" ")으로 공백 기준으로 나누고, Integer.parseInt()로 각 문자열을 정수로 변환한다.

Arrays.sort()로 오름차순 정렬하면 arr[0]이 최솟값, arr[arr.length - 1]이 최댓값이 된다.

s = "1 2 3 4"
 
split  → ["1", "2", "3", "4"]
parseInt → [1, 2, 3, 4]
sort   → [1, 2, 3, 4]
arr[0] = 1, arr[3] = 4 → "1 4" 반환

구체적으로 정리한 풀이 흐름:

  1. s.split(" ")으로 공백 기준 분리
  2. Integer.parseInt()로 정수 배열 변환
  3. Arrays.sort()로 오름차순 정렬
  4. arr[0] + " " + arr[arr.length - 1]로 최솟값, 최댓값 반환

최종 코드

import java.util.Arrays;
 
class Solution {
    public String solution(String s) {
        String[] tmp = s.split(" ");
        int[] arr = new int[tmp.length];
 
        for (int i = 0; i < tmp.length; i++) {
            arr[i] = Integer.parseInt(tmp[i]);
        }
 
        Arrays.sort(arr);
        return arr[0] + " " + arr[arr.length - 1];
    }
}

실행 결과

0개의 댓글