[Programmers] 두 정수 사이의 합 (Java)

zerokick·2023년 4월 4일
0

Coding Test

목록 보기
29/120
post-thumbnail

두 정수 사이의 합 (Java)


문제 설명

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

제한 조건

a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.
a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다.
a와 b의 대소관계는 정해져있지 않습니다.

입출력 예

abreturn
3512
333
5312

Solution

1

class Solution {
    public long solution(int a, int b) {
        long answer = 0;
                      
        int max = Math.max(a, b);
        int min = Math.min(a, b);
        
        for(int i = min; i <= max; i++) {
            answer += i;
        }
       
        return answer;
    }
}

2

class Solution {
    public long solution(int a, int b) {
        long answer = 0;
                      
        int max = Math.max(a, b);
        int min = Math.min(a, b);
        
        int cnt = max - min + 1;
        
        answer = (long) cnt * (a + b) / 2;
       
        return answer;
    }
}

Feedback

등차수열의 합 공식

Sn=n(a+l)2S_n = {n(a+l)\over2}

n:항의갯수,a:첫째항,l:마지막항n : 항의 갯수 , a : 첫째항, l : 마지막항

profile
Opportunities are never lost. The other fellow takes those you miss.

0개의 댓글