Algorithm/Programmers(c++)

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

kim-hasa 2021. 8. 2. 17:32

https://programmers.co.kr/learn/courses/30/lessons/12912

 

코딩테스트 연습 - 두 정수 사이의 합

두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우

programmers.co.kr

두 정수 사이의 합을 구하는 문제입니다.

 

1. a와 b가 같다면 -> a를 리턴

2. a가 b보다 크다면 -> b를 증가시키면서 더해서 a와 같아질 때까지 더함

3. b가 a보다 크다면 -> a를 증가시키면서 더해서 b와 같아질 때까지 더함

#include <string>
#include <vector>

using namespace std;

long long solution(int a, int b) {
    long long answer = 0;
    
    if(a == b)      // 같다면 a 리턴
        return a;
    else if(a > b)  // a가 크다면
    {
        while(a >= b)   // b를 증가시키면서 a보다 커질때까지 더함
        {
            answer += b;
            b++;
        }
    }
    else if(a < b)      // a를 증가시키면서 b보다 커질때까지 더함
    {
        while(a <= b)
        {
            answer += a;
            a++;
        }
    }
    return answer;
}