📢 문제 설명
두 정수 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의 대소관계는 정해져있지 않습니다.
function solution(a, b) {
let answer = 0;
let compare = a > b ? a - b : b - a;
Array(compare + 1)
.fill(a > b ? a - compare : b - compare)
.map((el, i) => {
el = a > b ? b : a;
answer += el + i;
});
return answer;
}
console.log(solution(a, b));
변수 설정: a,b 중 작은 수를 비교해 큰수 - 작은수
를 해준다.
큰수 - 작은수
만큼의 length
를 새로운 array
를 만든다.
fill(legnth)
은 length만큼 채우는데, 이는
map()
으로 el
은 작은 수
answer
는 el + i
의 반복~
return answer;
function solution(a, b) {
let answer = 0;
for (let i = Math.min(a, b); i <= Math.max(a, b); i++) {
answer += i;
}
return answer;
}
// 위에 max min 사용한거랑 유사함
function adder(a, b, s = 0){
for (let i = Math.min(a, b); i <= Math.max(a, b); i++) s += i;
return s;
}
function adder(a, b){
var result = (a<b)?a:b; // 작은 수
while(a!=b){ // a가 b랑 같아질때까지
result += (a<b)?++a:++b; // 작은 수 + 증가되는 작은 수
}
return result;
}
function adder(a, b){
let result = 0
return (a+b)*(Math.abs(b-a)+1)/2;
//두 수의 차를 절대값으로 구해서 등차 수열로 구하기
//양 끝의 합 * 양끝 합의 개수 / 2
}
📌 등차수열의 합