1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #include <string> #include <vector> using namespace std; long long solution(int a, int b) { long long answer = 0; int i=0; if(a>b)//a가 클 경우 { for(i=b;i<=a;i++)//작은 수인 b부터 a까지의 숫자를 더하는 반복문 { answer+=i; } return answer; } else if(a<b)//b가 클 경우 { for(i=a;i<=b;i++)//작은 수인 a부터 b까지의 숫자를 더하는 반복문 { answer+=i; } return answer; } else if(a==b)//a와 b가 같을 경우 둘 중 아무거나 반환한다. { return a; } } | cs |
문제 설명
두 정수 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가 클 경우와 b가 클 경우를 분리해서 작은 수부터 큰 수까지 반복문을 이용해서 차례대로 누적하면 되는 문제이다.
그리고 a와 b가 같을 경우에는 아무것도 더해지지 않으므로 둘 중 아무거나 반환하면 된다.
'프로그래머스 > C++' 카테고리의 다른 글
[level 1] 2016년 (0) | 2018.08.19 |
---|---|
[level 1] 같은 숫자는 싫어 (0) | 2018.08.18 |
[level 1] 문자열 내 p와 y의 개수 (0) | 2018.08.17 |
[level 1] 나누어 떨어지는 숫자 배열 (0) | 2018.08.16 |
[level 1] 가운데 글자 가져오기 (0) | 2018.08.14 |