2022. 12. 23. 16:06ㆍ알고리즘 공부
문제
두 정수 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)을 리턴한다.
'알고리즘 공부' 카테고리의 다른 글
| 알고리즘 문제풀기 (JS입문) - 양수 음수 더하기 (0) | 2022.12.24 |
|---|---|
| 알고리즘 문제풀기 (JS입문) - 문자열을 숫자로/내림차순으로 배치하기 (0) | 2022.12.24 |
| 알고리즘 문제풀이 (JS입문) - 콜라츠 추측 (1) | 2022.12.21 |
| 알고리즘 문제풀기 (JS입문) - 부족한 금액 계산하기 (0) | 2022.12.19 |
| 알고리즘 문제 풀기 (JS입문) - 짝수 홀수 (0) | 2022.12.16 |