알고리즘 문제 풀기 (JS입문) - 두 정수의 합 / Math.abs() 메소드

2022. 12. 23. 16:06알고리즘 공부

728x90
SMALL

문제

 

두 정수 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;
    return answer;
}

 

 

 

 

내가 푼 답

unction solution(a, b) {
    var answer = 0;
    
    if (a<=b){
        for (i=a; i<=b; i++){
            answer += i;
        }
    }else{
        for(j=b; j<=a; j++)
            answer += j;
    }
    
    return answer;
}

배운대로 if문과 for문 사용

 

 

 

다른 사람이 푼 답

function adder(a, b){
    var result = 0

    return (a+b)*(Math.abs(b-a)+1)/2;
}

console.log( adder(3, 5) )

이 해답엔 사람들이 감탄하는 하는 댓글로 넘쳐난다.

 

 

위 코드에서 사용된 메소드는 

 

Math.abs() 절대값 구하는 메소드 이다.

 

 

Math.abs(-5); // 5

Math.abs(-3.14159); // 3.14159

Math.abs(2); // 2

Math.abs("6"); // 6

파라미터로 입력받은 숫자의 절대값을 반환한다.

 

Math.abs([]); // 0

빈 배열이 입력되면 0을 리턴한다.

 

Math.abs(""); // 0

빈 문자열이 입력되면 0을 리턴한다.

 

Math.abs(true); // 1

Math.abs(false); // 0

boolean 값이 입력되면 true인 경우 1, false인 경우 0을 리턴한다.

 

Math.abs(null); // 0

null이 입력되면 0을 리턴한다.

 

Math.abs(undefined); // NaN

undefined 값이 입력되면 NaN(Not a Number)을 리턴한다.

 

Math.abs("apple"); // NaN

숫자로 변환할 수 없는 문자열이 입력되면  NaN(Not a Number)을 리턴한다.

 

 

728x90
LIST