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