blues_log

문제링크

https://school.programmers.co.kr/learn/challenges/training?order=recent&languages=java 

 

코딩 기초 트레이닝 | 프로그래머스 스쿨

프로그래밍 언어를 처음 접하거나 프로그래밍 언어에 익숙해지고 싶다면? 코딩 역량을 탄탄하게 길러주는 코딩 기초 트레이닝으로 차근차근 코딩에 대한 기초 감각을 길러 보세요.

school.programmers.co.kr


문제설명


제한사항


입출력 예


풀이

  • num을 항의 개수로 생각하고, total을 등차수열의 합으로 생각한다.
  • 공차는 연속된 수이므로 1이다.
  • 첫째항을 구하면 되는데 이 것은 등차수열의 합 공식을 이용한다.

  • 위의 식을 변형하면 첫째항 a를 구하는 식은 다음과 같다.
// 첫번째 항 구하기 (등차수열의 합 공식 이용)
int a1 = total/num - (num-1)/2;
class Solution {
    public int[] solution(int num, int total) {
        int[] answer = new int[num];
        
        // 첫번째 항 구하기 (등차수열의 합 공식 이용)
        int a1 = total/num - (num-1)/2;
        // System.out.println(a1);
        
        for(int i=0; i<num; i++) {
            answer[i] = a1+i;
        }
        
        return answer;
    }
}