관리 메뉴

100세까지 코딩

[프로그래머스] Lv0.연속된 수의 합 본문

코딩테스트/자바

[프로그래머스] Lv0.연속된 수의 합

100세까지 코딩 2023. 8. 13. 16:21
문제 설명

 

 

풀기 전 생각
  • 연속된 수들 중 상수 합만 따로 구하기
  • total에서 상수 합을 빼고 num숫자로 나누기
class Solution {
    public int[] solution(int num, int total) {

        int[] answer = new int[num];
        int sum = 0;   // 연속된 수들에서 상수들만의 합
        int x;         // 변수 x를 저장하기 위한 변수

        for(int i = 0; i < num; i++){  // 연속된 수들에서 상수들만의 합
            sum += i;       //ex) num = 3 이면 x + x+1 + x+2 = 3x + 3  상수 3 추출
        }

        x = (total - sum) / num;   // 3x + 3 = 12 -> num * x + sum = total

        for(int i = 0; i < num; i++){  // answer에 x부터 x+num-1까지 넣어주기
            answer[i] = x + i;
        }
        return answer;
    }
}

 

참고

Lv0 수학문제는 쉽다~!