등차수열의 합
// 내가 쓴 코드
function solution(a, b) {
var answer = 0;
if(a === b){
answer = a;
}else if(a<b) {
for(i = a; i <= b; i++){
answer +=i;
}
}else if(b<a) {
for(i = b; i <= a; i++){
answer +=i;
}
}
return answer;
}
// 등차수열의 합 공식 이용
solution = (a,b) => {
return ((Math.abs(a-b)+1) * (a+b))/2
}
사실 이번거는 업로드 안하려고했는데 생각보다 등차수열 공식을 이용하는 문제들이 많아서 정리해두려고 한다.
등차수열이란 일정한 간격으로 떨어진 숫자들의 나열을 말한다. 고등학교 때 죽어라 외워서 시험 봤지만 이제 대학생이 된 내 기억에서 사라진지는 오래였다..ㅋㅋㅠ
(항수 * (첫항+끝항))/2
이게 등차수열의 합 공식인데 코테에서도 은근히 많이 쓰인다. 이번 문제도 마찬가지고.
문제를 풀 때 다른건 다 주어져있으니 상관이 없는데 항 수를 어떻게 구할까 생각이 안나 검색을 해봤는데 좋은 게 있더라.
Math.abs(a-b)+1
//Math.abs(b-a)+1 상관없음
이 코드가 항의 개수를 구하는 공식이다.
a-b의 절댓값을 구하고 1을 더하면 a와 b사이에 있는 숫자들의 갯수가 나온다.
이제 구한 사이에 있는 숫자들의 갯수를 a+b와 곱해주고 2로 나누어주면 끝.