Miyeon

문제 44 : The sum of a range

2021-04-19Algorithm

🔥 The sum of a range 🔥

원하는 결과

console.log(range(1, 10));
// → [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
console.log(range(5, 2, -1));
// → [5, 4, 3, 2]
console.log(sum(range(1, 10)));
// → 55

해결

function range(start, end, step = 1) {
  let array = [];

  if (step > 0) {
    for (let i = start; i <= end; i += step) array.push(i);
  } else {
    for (let i = start; i >= end; i += step) array.push(i);
  }
  return array;
}

function sum(array) {
  let total = 0;
  for (let value of array) {
    total += value;
  }
  return total;
}

WILT : What I Learned Today 🤔

헤맸던 부분

  • 숫자가 늘어나는 step과 숫자가 줄어드는 step을 동시에 처리하려고 하다보니 무한루프에 빠지게 되었다. 문제풀기 전에 충족시켜야 하는 조건을 간단하게 정리하고 코드를 작성하는 게 덜 헤매는 방법이 될 것 같다.

새롭게 배운 부분

  • for..of문은 잘 안써봤는데 써보니 간결해서 좋았다!
  • for..of에 대해 검색하보니 iterable객체가 등장해서 익숙하지 않은 개념이라 문서를 읽어보았다. iterable 객체

다음에 적용할 부분

  • 내일 알고리즘 풀면서 할 일 : 문제 파악 > 요구사항 정리 > 조건을 충족하는 나의 해결방법 구체화 > 코드 작성 시작