Algorithm/프로그래머스

[Lv. 0] 연속된 자연수의 합

녱녱 2023. 4. 17.

class Solution {
    public int[] solution(int num, int total) {
        int[] answer = new int[num];
        int a = (2 * total / num -num +1)/2;
        for(int i = 0; i < num ; i++){
            answer[i] = a;
            a++;
        }
        return answer;
    }
}

연속된 자연수라는 말에서 공차가 1인 등차수열로 풀 수 있겠다는 아이디어가 떠올랐고

등차수열의 합공식을 활용해 a1, 즉 첫번째 숫자를 구해 num 만큼 구하는 방법을 사용해 보았다

 

'Algorithm > 프로그래머스' 카테고리의 다른 글

[Lv. 0] 두 수의 연산값 비교하기  (0) 2023.04.20
[Lv. 0] 다음에 올 숫자  (0) 2023.04.18
[Lv. 0] 종이 자르기  (0) 2023.04.17
[Lv. 0] 문자열 밀기  (0) 2023.04.14
[Lv. 0] 잘라서 배열로 저장하기  (0) 2023.04.13

댓글