본문 바로가기

Algorithm/Programers - Java

[프로그래머스(Java)] 카운트 다운 / rangeClosed(), iterate()

 

Level. 0

 

문제

정수 start_num와 end_num가 주어질 때, start_num에서 end_num까지 1씩 감소하는 수들을 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.

* 제한사항
- 0 ≤ end_num ≤ start_num ≤ 50

 

 

풀이. 1 - iterate

import java.util.stream.*;

class Solution {
    public int[] solution(int start, int end_num) {
        return IntStream.iterate(start, i-> i>=end_num, i-> i-1).toArray();
    }
}

 

 

풀이. 2 - rangeClosed

import java.util.stream.*;

class Solution {
    public int[] solution(int start, int end_num) {
        return IntStream.rangeClosed(-start,-end_num).map(i->-i).toArray();
    }
}

 

효율성은 별로지만 rangeClosed를 사용한 풀이가 독특해서 정리해 보았다. 

 

 


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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr