07
04
728x90

문제 설명

두 정수 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의 대소관계는 정해져있지 않습니다.
입출력 예
a b return
3 5 12
3 3 3
5 3 12

 

class Solution {
    public long solution(int a, int b) {
        long answer = 0;
        if(a>b) //a가 b보다 큰 경우
        {
            while(a>b) //a가 b보다 큰 경우 반복
            {
                answer = b + answer; //answer에 값을 더함
                b++;
            }
            answer = b + answer; //a와 b가 같은경우 위 while이 반복되지 않으므로 따로 더해줌
        }
        else if(b>a) //b가 a보다 큰 경우
        {
            while(a<b) //b가 a보다 큰 경우 반복
            {
                answer = a + answer; //answer에 값을 더함
                a++;
            }
            answer = a + answer; //a와 b가 같은경우 위 while이 반복되지 않으므로 따로 더해줌
        }
        else //a와 b가 같은경우
        {
            answer = a; //a
        }
        return answer;
    }
}

for문으로 해결한 문제풀이

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