프로그래머스 : 두 정수 사이의 합

Digeut·2023년 7월 6일
0

프로그래머스

목록 보기
79/164

❔문제설명

두 정수 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의 대소관계는 정해져있지 않습니다.

🤔아이디어

연속된 수의 합이니까 등차수열로 해결할수 있나..?

❌틀린코드


class Solution {
    public long solution(int a, int b) {
        long answer = 0;
        //int sum = ((long) n * (1 + n )) / 2; 등차수열의 합
        if (a > b){
            for(int i = b ; i <= a ; i ++){
                answer = ((long) b * (1 + b )) / 2;
            }
        } else if (a < b){
            for(int i = a ; i <= b ; i ++){
                answer = ((long) a * (1 + a )) / 2;
            }
        } else if (a == b){
            answer = a;
        }
        return answer;
    }
}

🙄오류


으음.. 근데 등차수열은 1부터 n까지의 경우의 합을 나타내는건데
1부터 시작이 아니라면..

💡코드풀이

class Solution {
    public long solution(int a, int b) {
        long answer = 0;
        
        if (a > b){
            for(int i = b ; i <= a ; i ++){
                answer += i;
            }
        } else if (a < b){
            for(int i = a ; i <= b ; i ++){
               answer += i ;
            }
        } else if (a == b){
            answer = a;
        }
        return answer;
    }
}

아 너무 복잡하게 생각했다 그냥 하나씩 answer에 값을 더해주고 넘어가면 되는건데..🥲

profile
개발자가 될 거야!

0개의 댓글