문제 설명
연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solution함수를 완성해보세요.
제한사항
- 1 ≤ num ≤ 100
- 0 ≤ total ≤ 1000
- num개의 연속된 수를 더하여 total이 될 수 없는 테스트 케이스는 없습니다.
입출력 예
num total result
3 | 12 | [3, 4, 5] |
5 | 15 | [1, 2, 3, 4, 5] |
4 | 14 | [2, 3, 4, 5] |
5 | 5 | [-1, 0, 1, 2, 3] |
입출력 예 설명
입출력 예 #1
- num = 3, total = 12인 경우 [3, 4, 5]를 return합니다.
입출력 예 #2
- num = 5, total = 15인 경우 [1, 2, 3, 4, 5]를 return합니다.
입출력 예 #3
- 4개의 연속된 수를 더해 14가 되는 경우는 2, 3, 4, 5입니다.
정수 배열의 오름 차순 Arrays.sort()
정수 = 음수도 포함
total 값이 0일 경우 → {-2, -1, 0, 1, 2}
total이 0인 경우 반복문 필요
for (int i = (total + num); i <= (total + num); i++){
}
오류 1 : int answer = {}; → {} 안의 값을 안넣음
오류 2 : 실행한 결괏값 [15,16,17]이 기댓값 [3,4,5]과 다릅니다. → -(total + num); ‘-’ 안붙여서 생김
package Lv0;
public class H120923 {
public static int[] solution(int num, int total) {
int[] answer = new int[num];
for (int i = -(total + num); i <= (total + num); i++) {
int sum = 0;
int index = 0;
answer = new int[num];
for (int j = i; j < (i + num); j++) {
sum += j;
answer[index++] = j;
}
if (sum == total) {
break;
}
}
return answer;
}
public static void main(String[] args){
int num = 3;
int total = 12;
}
}
'알고리즘 > 프로그래머스 JAVA LV.0' 카테고리의 다른 글
7의 개수 (0) | 2023.03.13 |
---|---|
저주의 숫자 3 (0) | 2023.03.12 |
직사각형 넓이 구하기 (0) | 2023.03.10 |
숫자 찾기 (0) | 2023.02.26 |
문자열 정렬하기(2) (0) | 2023.02.25 |