두 정수 사이의 합
function solution(a, b) {
return (a + b) * (Math.abs(b - a) + 1) / 2;
}
function solution2(a, b) {
let answer = 0;
if (a < b) {
while (a <= b) {
answer += a;
a += 1;
}
} else {
while (b <= a) {
answer += b;
b += 1;
}
}
return answer;
}
function solution2(a, b) {
let answer = 0;
a > b && ([a, b] = [b, a]) // 대소 관계
while (a <= b) {
answer += a;
a += 1;
}
return answer;
}
3과 5가 주어지면 3+4+5를 해서 리턴하면 됩니다.
function solution(a, b) {
a > b && ([a, b] = [b, a]);
return Array(b - a + 1).fill(a).map((v, i) => v + i).reduce((a, c) => a + c);
}
5, 3과 같이 역순으로 주어지는 경우만 추가적으로 고려하면 됩니다. [a, b] = [b, a]는 두 숫자를 바꾸는 편리한 문법이므로 알아두시면 좋습니다. Array부터 시작해서 fill, map까지 이어지는 과정도 [1,2,3,4,5]이런 순차적인 숫자 배열을 만드는 방식이므로 알아두시면 좋습니다.