프로그래머스 Lv.2 최댓값과 최솟값 JAVA

Study with cocochichi·2023년 11월 6일
0

프로그래머스 Lv.2

목록 보기
1/1
post-thumbnail

문제 설명

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

제한 조건

s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.

입출력 예

sreturn
"1 2 3 4""1 4"
"-1 -2 -3 -4""-4 -1"
"-1 -1""-1 -1"

풀이코드

import java.util.*;
class Solution {
    public String solution(String s) {
        String answer = "";
        
        // 문자열을 " "기준으로 분리해 str 배열에 담아주기
        String[] str = s.split(" ");
        
        // 숫자로 변경 후 배열
        int[] num = new int[str.length];
        
        for(int i=0; i<num.length; i++){
            num[i] = Integer.parseInt(str[i]);
        }
        
        Arrays.sort(num);
        
        answer = num[0] + " "+num[num.length-1];
        return answer;
    }
}

✏️ 풀이방법

  1. s.split(" ") 사용하여 문자열 s를 공백 기준으로 분리하여 str 배열에 저장
  2. str 문자열에서 숫자로 변환
  3. num[i] = Integer.parseInt(str[i]); 문자열 배열 str의 정수로 변환하여 정수 배열 num에 저장하는 역할
    4.. Arrays.sort()를 사용하여 num 오름차순 정렬 ➡️ 배열의 첫번째 요소가 최솟값, 마지막이 최대값이 됨

✏️ 리뷰

오늘 처음으로 레벨2 제일 정답률이 높은 문제를 풀었는데 어려워서 어버버.. 했다..😒 언제쯤 문제들을 익히고 바로바로 풀 수 있을까 고민에 빠졌다.. 그래도 저거 다 아는건데... 쩝.. 화이팅 해야겠다

⭕명심하기⭕

Integer.parseInt()

: 문자열 ➡️ 정수로 변환하는 역할
ex) "15" 라는 문자열이 주어지면 Integer.parseInt("42")를 호출하여 정수 42로 변환

0개의 댓글