차차로그
[JS] 연습문제 > 콜라츠 추측 본문
function solution(num) {
var answer = 0;
while(num > 1){
if(num % 2 == 0){
num = num / 2;
answer++;
}else{
num = num * 3 + 1;
answer++;
}
if(answer == 500 && num != -1){
return -1;
}
}
return answer;
}
num이 1이 될 때까지 연산을 반복해야하기 때문에 while을 사용했다.
num이 짝수면 2를 나누고 연산횟수(answer)를 1씩 올려준다.
홀수인 경우 3을 곱하고 1을 더하고 연산횟수를 1 올려준다.
연산횟수가 500번이 되도 num이 1이 되지 않을 경우엔 -1을 리턴하라고 했으므로 따로 if조건을 달아줬다.
'코딩테스트' 카테고리의 다른 글
[JS] 연습문제 > 두 정수 사이의 합 (0) | 2022.08.29 |
---|---|
[JS] 연습문제 > 자연수 뒤집어 배열로 만들기 (0) | 2022.08.29 |
[JS] 연습문제 > 평균 구하기 (0) | 2022.08.29 |
[JS] 연습문제 > 나누어 떨어지는 숫자 배열 (0) | 2022.08.29 |
[JS] 연습문제 > 이상한 문자 만들기 (0) | 2022.08.29 |
Comments