Coding/CodingTest

[프로그래머스] n 번째 원소부터 (ps. stream의 간결함)

mimi 2023. 9. 20. 10:49
728x90
반응형

코딩테스트를 풀다 보면, 처음에 길게 작성했던 코드를 다시 봤을 때
정말 엄청나게 간결한 코드로 수정이 가능한 경우가 많았다.
오늘 이같은 상황을 또 한 번 마주하게 되어 기록을 남겨본다.
 
 
첫 풀이 코드

class Solution {
    public int[] solution(int[] num_list, int n) {
        int[] answer = new int[(num_list.length - n) + 1];
        
        for(int i=0,j=n-1; i<answer.length; i++, j++) {
            answer[i] = num_list[j];
        }
        return answer;
    }
}

 
stream 사용 수정 코드

import java.util.Arrays;

class Solution {
    public int[] solution(int[] num_list, int n) {
        return Arrays.stream(num_list, n - 1, num_list.length).toArray();
    }
}

 
배열 선언과 for문을 사용했던 코드에서 stream을 사용하니
return 한 줄로 간결하게 작성이 가능하다.
 
마법같은 코드 간소화를 통해 stream 공부도 꾸준히 해야함을 느꼈다.
기존에 1회 정독했었던 자바의 정석, 이것이 자바다 책 stream부분을 다시 읽고
유튜브나 인프런 사이트에서 자바 stream 강의를 다시 한 번 공부해야겠다.

728x90
반응형