프로그래머스 1단계 - 콜라츠 추측

원동휘·2022년 9월 20일
0

프로그래머스

목록 보기
15/46

< 문제 >

풀이

  • 몇번 반복문이 일어날지 모르는상황이기때문에 이런경우 for문 보다는 while반복문이 더 어울리다는 판단, 최종결과는 1이 나오니 while반복이 1보다 클 경우에만 반복문을 진행, 짝수일경우 2를나누고, 홀수 일 경우 3을곱하고 1을 더함 최종 결과가 500보다 클경우 -1 500보다 크지않은경우 기존에 숫자를 넣어줌으로써 풀이

function solution(num) {
  let answer = 0;
  while (num > 1) {
    answer += 1;
    if (num % 2 === 0) {
      num = num / 2;
    } else {
      num = num * 3 + 1;
    }
  }
  return answer <= 500 ? answer : -1;
}

console.log(solution(6));
console.log(solution(16));
console.log(solution(626331));
profile
Front-End Developer #Nextjs #React #Typescript

0개의 댓글