연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solution함수를 완성해보세요.
https://school.programmers.co.kr/learn/courses/30/lessons/120923
import java.util.*;
class Solution {
public int[] solution(int num, int total) {
int[] answer = {};
boolean right = true;
int center = total/num;
List<Integer> check = new ArrayList<>();
check.add(center);
for(int i = 1; i <= num; i++){
if(right && check.size() < num){
check.add(center + i);
right = false;
}
if(!right && check.size() < num){
check.add(center - i);
right = true;
}
}
return check.stream().sorted().mapToInt(i -> i).toArray();
}
}
- 총 값을 총 갯수로 나누면 중간 값이 나온다.
- 반복문을 통해 총 갯수가 넘지 않게 중간 값 기준으로 붙인다.
- 리스트 정렬 후 배열로 변환 후 반환.