티스토리 뷰

https://programmers.co.kr/learn/courses/30/lessons/12912

 

코딩테스트 연습 - 두 정수 사이의 합

두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우

programmers.co.kr

 

[문제 풀이]

 

1. 주어진 두 수를 포함한 정수를 더한다.

2. 고등학교때 배운 등차수열을 이용한다.

3. 공차 : 1, 첫 수 : a, 마지막 수 : b

4. 등차수열 : An = (n - 1) * d + A1 = dn + (A1 - d) 

4. 등차수열의 합 (첫 수, 마지막 수, 개수를 알 경우) : n * (a + b) / 2

5. 등차수열의 합 (공차, 첫 수, 개수를 알 경우) : n * {2 * a + (n - 1) * d} / 2

 

[소스 코드]

 

public class SumBetweenTwoIntegers {
    public static void main(String[] args) {
        int a = 3;
        int b = -100;

        System.out.println(solution(a, b));
    }

    private static long solution(int a, int b) {
        long n = Math.abs(b - a) + 1;

        return n * (a + b) / 2L;
    }
}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
글 보관함