프로그래머스 LEVEL1 - 두 정수 사이의 합(JavaScript)
두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.
예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.
주어진 정주를 반복문의 매게변수로 작성한 뒤 반복만큼 정수를 더해준다.
function solution(a, b) {
var answer = 0;
var aa = a;
var bb = b;
// 정수 비교 후 재정의
if(b<a){
aa = b;
bb = a;
}
for(var i=aa; i<=bb; i++) {
answer = answer + i;
}
return answer;
}
비교적 간단한 문제
하지만, a와 b중 어떤 변수가 큰값을 지닐지 모르기 때문에
두 변수를 비교 한 후 변수에 재정의 해주는 코드를 삽입했습니다.
이 부분이 마음에 들지 않아 보완했습니다.
위 코드를 개선하기 위해 Math 객체를 사용했습니다.
Math 객체는 수학에서 자주 사용하는 상수와 함수들을 미리 구현해 놓은 자바스크립트 표준 내장 객체입니다.
// min : 값 중에서 가장 작은 수를 반환
Math.min(1, 10, -100, -10, 1000, 0); // -100
Math.min(1, 10, -100, -10, "-1000", 0); // -1000
Math.min(1, 10, -100, -10, "문자열", 0); // NaN
// max : 값 중에서 가장 큰 수를 반환
Math.max(1, 10, -100, -10, 100, 0); // 100
Math.max(1, 10, -100, -10, "1000", 0); // 1000
Math.max(1, 10, -100, -10, "문자열", 0); // NaN
//예제 출처 : tcpschool
function solution(a, b) {
var answer = 0;
for (var i = Math.min(a, b); i <= Math.max(a, b); i++){
answer = answer + i;
}
return answer;
}