[java] 두 정수 사이의 합

강성준·2024년 1월 27일
0

두 정수 사이의 합

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

Main Mathod

public static void main(String[] args) {
	long answer = 0;
    int a = (int) (Math.random()*10);
    int b = (int) (Math.random()*10);
    answer = getSum(a, b);

	System.out.println("두 정수 사이의 합 : " + answer);
}

getSum

private static long getSum(int a, int b) {

	// 매개 번수 a, b가 대소관계가 정해져있지 않다.
    int num1 = Math.min(a, b);
    int num2 = Math.max(a, b);

	// 제한 조건중 같으면 아무 수나 반환
	if(num1 == num2) {
    	return num1;
	}

	long sum = 0;
    for(int i = num1; i <= num2; i++) {     // num1 부터 num2 사이 숫자들 전부다 누적합
    	sum += i;
	}

	return sum;
}

포인트
1. 등차수열 공식을 기억하고 있다면, 더 쉽고 간결하게 풀 수 있다.
2. 매개변수의 대소관계가 정해져있지 않다는걸 인지하자
3. for문 조건에 삼항 연산자를 사용해도 간결하게 된다.
4. 반환형 체크 잘하자.

profile
Java, Spring Framework로 백엔드 개발을 하는 개발자입니다.

0개의 댓글