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

너구리로소이다·2023년 3월 15일
0

programmers-java-lv2

목록 보기
2/55

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

문제 설명

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

  • s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.

제한 조건

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

풀이

To-Do 리스트

  1. 입력으로 주어진 문자열을 공백을 기준으로 배열에 저장.
  2. 문자열 배열을 숫자 리스트로 변경.
    2-1. 해당 배열을 stream()를 사용하여, mapToInt(x->Integer.parseInt(x))로 문자열을 숫자로 변경.
    2-2. boxed().collect(Collectors.toList())를 통해 리스트로 변경.
    2-3. 이때, sorted()를 넣으면 정렬.
  3. 첫번째 값이 최솟값, 마지막 값이 최댓값으로 이를 공백을 추가하여 answer에 저장.

결과

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

class Solution {
    public String solution(String s) {
        String answer = "";
        String[] srr = s.split(" ");
        List<Integer> list = Arrays.asList(srr).stream().mapToInt(x->Integer.parseInt(x)).boxed().sorted().collect(Collectors.toList());
        answer = list.get(0)+" "+list.get(list.size()-1);
        return answer;
    }
}
profile
일단 해보자 뭐든 되겠지 😄

0개의 댓글