Career Pivot into Development Journal, 6일 차: JS 실습 5 – sumAll.js
문제 이해
이 연습에서는 두 개의 숫자를 매개변수로 사용하고 이 두 숫자 사이의 모든 숫자를 합산하는 함수를 만들어야 합니다.
계획
의사 코드
Declare a function that takes two parameters, `startNum` and `endNum`. Name it `sumAll`
Create a loop where the initialiser = `startNum` and the condition = `endNum`. Increment the loop.
Declare a variable `sum` and set it equal to 0
Concatenate `i` with `i` and store it in the variable `sum`
Return `sum`
Call the function `sumAll(startNum, endNum)`
분할 및 정복
두 개의 매개변수 startNum 및 endNum 을 사용하는 함수를 선언하십시오. 이름을 sumAll로 지정합니다.
const sumAll = function(startNum, endNum) {}
이니셜라이저 = startNum 및 조건 = endNum 인 루프를 만듭니다. 루프를 증가시킵니다.
const sumAll = function(startNum, endNum) {
for (let i = startNum; i <= endNum; i++) {
}
변수 합계를 선언하고 0으로 설정합니다.
const sumAll = function(startNum, endNum) {
let sum = 0;
for (let i = startNum; i <= endNum; i++) {}
}
i를 i와 연결하고 변수 sum에 저장합니다.
const sumAll = function(startNum, endNum) {
let sum = 0;
for (let i = startNum; i <= endNum; i++) {
sum += i;
}
}
반환 합계
const sumAll = function(startNum, endNum) {
let sum = 0;
for (let i = startNum; i <= endNum; i++) {
sum += i;
}
return sum;
};
sumAll(startNum, endNum) 함수를 호출합니다.
const sumAll = function(startNum, endNum) {
let sum = 0;
for (let i = startNum; i <= endNum; i++) {
sum += i;
}
return sum;
};
sumAll(1,5);
테스트하기
통과해야 하는 6가지 테스트가 있습니다.
ERROR
를 반환해야 하는 모든 테스트부터 시작하여 이러한 문제를 해결해 보겠습니다. 처음 두 테스트는 위의 코드를 기반으로 이미 통과되었습니다. 나머지 테스트를 통과하려면 if...else
함수에서 sumAll
문을 사용해야 합니다.음수와 함께 ERROR를 반환합니다.
if (startNum < 0 || endNum < 0) {
return 'ERROR';
}
숫자가 아닌 매개변수로 ERROR를 반환합니다.
if (startNum < 0 || endNum < 0 || typeof(startNum) !== 'number' || typeof(endNum) !== 'number') {
return 'ERROR';
}
큰 숫자부터 먼저 작동(1ms)
더 큰 숫자로 작업하는 것은
startNum
> endNum
를 의미합니다. 이를 위해서는 위에서 했던 루프를 반대로 해야 합니다. 증가하는 대신 감소할 것입니다.if (startNum < 0 || endNum < 0 || typeof(startNum) !== 'number' || typeof(endNum) !== 'number') {
return 'ERROR';
} else if (startNum > endNum) {
for (let i = startNum; i >= endNum; i--) {
sum += i;
}
return sum
}
마지막으로 위에 있는 증분 for 루프를 추가합니다.
const sumAll = function(startNum, endNum) {
let sum = 0;
if (startNum < 0 || endNum < 0 || typeof(startNum) !== 'number' || typeof(endNum) !== 'number') {
return 'ERROR';
} else if (startNum < endNum) {
for (let i = startNum; i <= endNum; i++) {
sum += i;
}
return sum;
} else if (startNum > endNum) {
for (let i = startNum; i >= endNum; i--) {
sum += i;
}
return sum
}
};
✓ 범위(1ms) 내의 숫자 합계
✓ 큰 숫자로 작업
✓ 큰 숫자부터 먼저 작업
✓ 음수와 함께 ERROR를 반환합니다.
✓ 숫자가 아닌 매개변수로 ERROR를 반환합니다.
✓ 숫자가 아닌 매개변수로 ERROR를 반환합니다.
모든 테스트가 통과되었습니다! 다음 운동으로...
Reference
이 문제에 관하여(Career Pivot into Development Journal, 6일 차: JS 실습 5 – sumAll.js), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/takdevelops/career-pivot-into-development-journal-day-6-js-practice-5-sumalljs-384c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)