콜라츠 추측

2020.07.28

const collatz = (num, count) => {
  if (num == 1) {
    return count;
  }
  if (num % 2 == 0) {
    num /= 2;
    count++;
    return collatz(num, count);
  }
  num = num * 3 + 1;
  count++;
  return collatz(num, count);
};

const solution = (num) => {
  const result = collatz(num, 0);
  if (result > 500) {
    return -1;
  }
  return result;
};
  • 항상 프로그래머스는 solution함수를 작성하고 인자도 지정해주니 인자를 추가할 수 없는 줄 알았는데, 기본값을 지정해주면 가능한 거였다.
const solution = (num, count = 0) => {
  if (num == 1) {
    if (count > 500) {
      return -1;
    }
    return count;
  }
  if (num % 2 == 0) {
    num /= 2;
    return solution(num, ++count);
  }
  num = num * 3 + 1;
  return solution(num, ++count);
};

0개의 댓글

관련 채용 정보