C++ 두 정수 사이의 합 - Programmers

Updated:

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


두 정수 사이의 합

문제 설명

두 정수 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 = 3
b = 5
return = 12

a = 5
b = 3
return = 12

코드

#include <string>
#include <vector>

using namespace std;
void change_value(int& a, int& b);

long long solution(int a, int b) {
    long long answer = 0;
    change_value(a, b);

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

    return answer;
}

void change_value(int& a, int& b)
{
    if(a > b)
    {
        int temp = a;
        a = b;
        b = temp;
    }
}

고찰

크기가 a가 클 경우를 생각해서 함수를 하나 만들어 풀었다. 그 후 반복문으로 풀었지만 다른 사람의 풀이를 보니 수열을 사용해 간단히 푼 계산도 있었다. 문제가 단순할 경우 수학적으로 생각을 할 필요가 있는 것 같다.

Leave a comment