JavaScript 코딩테스트 두 정수 사이의 합 (22일)

보자 마자 for문이라는 감이 왔다.
function solution(a, b) {
var answer = 0;
for (let i = 0; i <=b; i++); {
if (a <= i <=b) {
answer += i;
}
}
return answer;
}
하지만 오류가 나서 수식 자체는 맞는것 같은데 코드 입력 방법이 틀린 것 같아서 gpt에게 물어봤다.
function solution(a, b) {
var answer = 0;
for (let i = 0; i <= b; i++) {
if (a <= i && i <= b) {
answer += i;
}
}
return answer;
}

테스트 1,2번을 통과했다!
3번의 경우 for문과 if문에서 비교연산자로 코딩을 해서 잘못된 기댓값이 나오는 것 같았다.
b또는 a로 체크될려면 숫자를 통한 비교가 아니라 a부터 b까지의 범위의 값으로 체크해보기로 했다.
function solution(a, b) {
var answer = 0;
for (let i = Math.min(a,b); i <= Math.max(a,b); i++) {
answer += i;
}
return answer;
}
위 매서드로 수정하니 if문도 필요 없이 코딩이 가능했다.

아래 매서드로 수정하니 if문도 필요 없이 코딩이 가능했다.

다른 사람의 풀이도 참고 했다.
가우스 공식을 통해서 푼 사람도 있더라..
function solution(a, b)
{ return (a + b) * (Math.abs(b - a) + 1) / 2; } 가우스공식