출처 : 프로그래머스
사용 언어 : JavaScript
function solution(num) {
var answer = 0;
return answer;
}
function solution(num) {
var answer = 0;
while(num!==1){
if(answer>500){
return -1;
break;
}
num%2===0?num=num/2:num=num*3+1;
answer++;
}
return answer;
}
// 1)
unction collatz(num,count = 0) {
return num == 1 ? (count >= 500 ? -1 : count) : collatz(num % 2 == 0 ? num / 2 : num * 3 + 1,++count);
}
-------------------------------------------------------------------------------
// 2)
function collatz(num) {
var answer = 0;
while(num !=1 && answer !=500){
num%2==0 ? num = num/2 : num = num*3 +1;
answer++;
}
return num == 1 ? answer : -1;
}
-------------------------------------------------------------------------------
// 3)
function collatz(num) {
for(var answer = 0;answer<500;answer++){
if(num%2==0){
num = num/2;
}
else if(num==1){
return answer;
}
else if(num%2==1){
num = (num*3)+1;
}
}
//if(answer == 500){return -1;}
return -1;
}
🔊
return
문 자체가 현재 함수를 종료시키고 그 함수를 호출했던 곳으로 되돌아가라는 의미이기에break
는 안쓰는게 맞는 것같다!return
문은break
랑 비슷한 역할!!
처음에for
으로 해보려다가 좀 헤맸다.....🙄ㅠ🙄
while(num !=1 && answer !=500)
이렇게 while문 안에 조건을 두개 넣으니 코드를 좀 더 간단하게 작성할 수 있었네!