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

윤민선·2026년 8월 1일

프로그래머스

목록 보기
58/77

문제 설명

두 정수 ab가 주어진다.

ab 사이에 있는 모든 정수(두 수 포함)의 합을 구하여 반환하는 문제


접근 방법

ab가 같으면 그대로 반환한다.

if (a == b) return a;

만약 ab보다 크다면 두 값을 서로 바꿔( swap) 작은 값부터 큰 값까지 반복문을 사용할 수 있도록 한다.

if (a > b) {
    int temp = a;
    a = b;
    b = temp;
}

그 후 for문을 이용하여 a부터 b까지 모든 수를 더한다.

합이 커질 수 있으므로 결과를 저장하는 변수는 long형을 사용한다.


풀이 순서

  1. 결과를 저장할 answerlong형으로 선언한다.
  2. ab가 같으면 바로 반환한다.
  3. ab보다 크면 두 값을 서로 교환한다.
  4. a부터 b까지 반복하면서 모든 수를 더한다.
  5. 계산된 합을 반환한다.

최종 코드

class Solution {
    public long solution(int a, int b) {
        long answer = 0;

        if (a == b) return a;
        
		//  a가 b보다 큰 경우에는 두 값을 서로 바꿔서 항상 a <= b를 만족하도록 함 
        if (a > b) {
            int temp = a;
            a = b;
            b = temp;
        }

        for (int i = a; i <= b; i++) {
            answer += i;
        }

        return answer;
    }
}

참고 자료

0개의 댓글