본문 바로가기
프로그래머스/level1

[Java][프로그래머스] 두 정수 사이의 합

by wave_m 2020. 8. 7.
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){
            for(int i= a ; i<=b; i++){
                answer += i;
            } 
        } else {
            for(int i= b; i<=a; i++){
                answer += i;
            }
        }
        return answer;
    }
}

 

알고리즘 풀이 :

1. Solution은 long을 반환하기 때문에 객체 answer을 long으로 선언

2. if 문으로 a와 b의 크기를 비교

2-1. a가 b보다 작거나 같을 때

- for문을 사용하여 i를 a부터 b까지 숫자 1씩 증가시켜서 answer에 증가하는 i 값을 누적으로 더해줌

2-2. a가 b보다 클 때

- for문을 사용하여 i를 b부터 a까지 숫자 1씩 증가시켜서 answer에 증가하는 i 값을 누적으로 더해줌

3. answer을 반환

728x90