최댓값과 최솟값 (자바)

김재현·2023년 12월 13일
0

알고리즘 풀이

목록 보기
50/90

문제

정답 코드

import java.util.Arrays;

class Solution {
    public String solution(String s) {
        String answer = "";

        int max = Arrays.stream(Arrays.stream(s.split(" ")).mapToInt(Integer::parseInt).toArray()).max().orElse(0);
        int min = Arrays.stream(Arrays.stream(s.split(" ")).mapToInt(Integer::parseInt).toArray()).min().orElse(0);
        
        answer=(min+"")+" "+(max+"");
        
        return answer;
    }
}

어제 stream에 감명을 받아 나도 사용해봤다.

  1. s를 stream으로 받아 split된 문자열 배열을 int로 치환.
    • stream.mapToInt()로 String을 int로 바꾼다.
  2. int배열을 다시 stream으로 받아 max, min 값을 구한다.
    • orElse는 stream.max()가 옵셔널로 받아지기 때문에 사용했다.
  3. answer에 정리

어디선가 처럼 한줄로 쓰면 이렇게도 가능하다.

import java.util.Arrays;

class Solution {
    public String solution(String s) {
        return (Arrays.stream(Arrays.stream(s.split(" ")).mapToInt(Integer::parseInt).toArray()).min().orElse(0)+"")+" "+(Arrays.stream(Arrays.stream(s.split(" ")).mapToInt(Integer::parseInt).toArray()).max().orElse(0)+"");
    }
}
profile
I live in Seoul, Korea, Handsome

0개의 댓글