250x250
Notice
Recent Posts
Recent Comments
Link
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

devlog_owen

[프로그래머스] 콜라츠 추측 본문

algorithm/(js)프로그래머스

[프로그래머스] 콜라츠 추측

developer_owen 2023. 11. 6. 17:12
728x90

문제

 

작업을 반복한 횟수를 물어본다 => count

 


 

 

나의 풀이

function solution(num) {
       let count = 0
    
    while (num !== 1){      //num이 1이 될 때까지 반복, 1되면 while 루프 빠져나와 count값 반환
        if (num%2===0){     //짝수인 경우 num을 2로 나누어 갱신
            num /= 2
        }else{
            num=num*3+1     //홀수인 경우 num을 3곱하고 1 더해 갱신
        }count ++           //각 반복에서 count 변수 1씩 증가=작업 반복한 횟수
        
        if (count === 500){
            return -1       //작업 500번 반복해도 num이 1 안되면 -1 반환
        }
    }
    return count;
}

 



 


 

다른 사람 풀이

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;
}

 

if,else문이 있으면 삼항연산자가 가능한 것을...

 


 

회고

 

삼항연산자 적용해서 풀어보기


 

 

 

 

728x90