본문 바로가기
부트캠프교육중/JavaScript

[JS] while

by 뭉지야 2023. 10. 31.
728x90

프로그래머스 콜라츠추측 문제를 풀다가 

결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다.

 

이렇게 만족하는 결과가 나올때까지 무한 반복하는 구현을 어찌할지에서 막혔다.

 

근데 while을 이럴때 이용하면 된다!

 

while문의 조건을 true로 하면 while문은 영원히 실행되게 된다.
이때 조건절로 종료할수 있도록 처리하기 위해서는 break문을 사용하면 된다.

 

let answer;
while(true){true일경우 시행할내용};
if(answer === 1){
break;
}

while문을 이용한 문제풀이

function solution(num) {
  let answer = 0;  //몇번 도는지 
    while( num !== 1){
        if(num % 2 === 0){
            num = (num / 2);
        } else {
            num = (num *3) + 1;
        }
        answer += 1;
    }
    if(answer >= 500){
        return -1;
    } else {
        return answer;
    }
}

 

다른사람 문제풀이

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

'부트캠프교육중 > JavaScript' 카테고리의 다른 글

[JS] 함수  (0) 2023.11.02
[JS] repeat  (0) 2023.11.02
[JS] 자주이용하지만 자주 헷갈리는 splice부분  (0) 2023.09.07
[JS] 노마드코더  (0) 2023.08.16
[JS] express  (0) 2023.08.11