CodingTest :: 배열 사용할 때 Array와 Stream API 사용

김병철·2023년 2월 6일
0

codingTest

목록 보기
4/11

# CodingTest Exercise

# int[] 를 거꾸로 담기

# 링크

https://school.programmers.co.kr/learn/courses/30/lessons/120821

# 문제설명

정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요.

# 제한사항

  • 1 ≤ num_list의 길이 ≤ 1,000
  • 0 ≤ num_list의 원소 ≤ 1,000

# 입출력 예

# 내 풀이

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

# 생각해 볼 풀이1

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

class Solution {
    public int[] solution(int[] numList) {
        List<Integer> list = Arrays.stream(numList).boxed().collect(Collectors.toList());

        Collections.reverse(list);
        return list.stream().mapToInt(Integer::intValue).toArray();
    }
}

# 생각해 볼 풀이2

import java.util.stream.LongStream;

class Solution {
    public int[] solution(int[] num_list) {
        return LongStream.range(1, num_list.length + 1)
                .mapToInt(i -> num_list[(int) (num_list.length - i)])
                .toArray();
    }
}
profile
keep going on~

0개의 댓글