본문 바로가기
코딩테스트/프로그래머스

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

by drCode 2021. 3. 28.
728x90
반응형

안녕하세요

 

이번 포스팅은 프로그래머스 레벨 2 문제인 최댓값과 최솟값을 풀어보겠습니다.

 

문제 설명

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

 

※ 문제 접근 방식

(1) 문자열을 먼저 " " 단위로 split합니다

(2) for문을 만들어 " " 단위로 잘려진 문자열 배열을 순회합니다

(3) i가 0일때만 최댓값, 최솟값에 arr[0]를 넣습니다

(4) 순환시마다 max, min 값에 계속 비교하여 넣어줍니다

(5) 최솟값과 최댓값을 이어붙여서 문자열로 반환합니다.

 

class Solution {
    public String solution(String s) {
        String answer = "";
        
        String[] arr = s.split(" ");
        
        int max = 0, min = 0;
        
        for(int i = 0; i < arr.length; i++) {
            if(i == 0) {
                max = Integer.parseInt(arr[i]);
                min = Integer.parseInt(arr[i]);
            }
            
            max = Math.max(Integer.parseInt(arr[i]), max);
            min = Math.min(Integer.parseInt(arr[i]), min);
        }
        
        answer = String.valueOf(min) + " " + String.valueOf(max);
        
        return answer;
    }
}
728x90
반응형

댓글