두 정수 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 return
3 5 12
3 3 3
5 3 12
function solution(a, b) {
var answer = 0;
//3가지 경우의 수로 나눠서 if문을 구성하였다.
if (a > b){
for(let i = 0; i <= a-b; i++){
answer += b+i;
}
}
else if (a == b){
answer = a;
}
else if (a < b){
for(let j = 0; j <= b-a; j++){
answer += a+j;
}
}
return answer;
}
무식하게도 풀었다. 뭐든지 if문으로 퉁치려는 습관을 버려야할 듯...
아직은 사람 수학문제 풀 듯이 푸는 느낌이 있다.
다른 사람들의 해답도 찾아보았다.
function solution(a, b) {
var answer = 0;
let min = Math.min(a, b);
let max = Math.max(a, b);
for(let i=min; i<=max; i++) answer+=i;
return answer;
}
최소값과 최대값 변수를 만들어 식을 하나만 세울 수도 있었다. 대단해...
간단화 해야한다. 간단화
개발자는 귀찮아 해야돼!
-서울대 전기정보공학부 여자