728x90
반응형

이번 문제 풀이에서도 느꼈던 stream의 간결함!

for문은 의식의 흐름대로 작성하게 되는 코드라면

stream은 동일한 결과를 내면서도

보기 좋게 정리한 느낌의 코드이다.

 

 

프로그래머스 실제 풀이

 

첫 풀이 코드

import java.util.Arrays;

class Solution {
    public String solution(String s) {
        StringBuilder answer = new StringBuilder();
        String[] arr = s.split(" ");
        int[] intArr = new int[arr.length];
        
        for(int i=0; i<arr.length; i++) {
            intArr[i] = Integer.parseInt(arr[i]);
        }
        
        Arrays.sort(intArr);
        
        answer.append(intArr[0]).append(" ");
        answer.append(intArr[intArr.length-1]);
        
        return answer.toString();
    }
}

 

stream 사용 수정 코드

import java.util.Arrays;

class Solution {
    public String solution(String s) {
        String[] arr = s.split(" ");
        int[] intArr = Arrays.stream(arr).mapToInt(Integer::parseInt).toArray();
        
        Arrays.sort(intArr);
        
        return intArr[0] + " " + intArr[intArr.length - 1];
    }
}

 

 


깊이 있게 공부하기 :

JAVA의 stream, generic, lamda

728x90
반응형

+ Recent posts