[JavaScript] 반복문 - while

2023. 3. 30. 15:07·학습 노트/JavaScript 코딩테스트

#콜라츠추측

Q. 주어진 수가 1이 될 때까지 반복되고, 그 횟수(n)는?

입력된 수가 짝수면 2로 나누고 홀수면 3을 곱한 후 1을 더한다.

function solution(num) {
    var answer = 0;
    while (num != 1) {          // 주어진 수가 1이 아니라면 계속 반복
        if (num % 2 == 0) {
            num = num / 2    // "answer = num / 2"로 작성했었음. | "num /= 2"로도 표현 가능하다.
        } else {
            num = (num * 3) + 1
        }
        answer += 1;            // answer 구하고자 하는 건 횟수잖아. 한 번 반복될 때마다 1을 더해줌으로써 횟수를 표현.
    }
    // 작업을 500번 반복할 때까지 1이 되지 않는다면 -1을 반환
        if (answer >= 500) {
            return -1;
        } else {            // 예외가 아닌 경우(일반적인 경우) 그냥 answer를 리턴해라.
            return answer;
        }
    return answer;
}
// 또다른 풀이
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;
}

 

'학습 노트 > JavaScript 코딩테스트' 카테고리의 다른 글

[JavaScript] 반복문으로 배열 모두 더하기 - for, if  (0) 2023.03.31
[JavaScript] 문자열 치환 - repeat, slice  (0) 2023.03.30
[JavaScript] 배열 정렬(오름차순, 내림차순) - sort  (0) 2023.03.30
[JavaScript] 배열에서 조건을 만족하는 값 찾기 - find, findIndex, filter  (0) 2023.03.30
[JavaScript] 배열 요소의 위치 찾기 - indexOf  (0) 2023.03.30
'학습 노트/JavaScript 코딩테스트' 카테고리의 다른 글
  • [JavaScript] 문자열 치환 - repeat, slice
  • [JavaScript] 배열 정렬(오름차순, 내림차순) - sort
  • [JavaScript] 배열에서 조건을 만족하는 값 찾기 - find, findIndex, filter
  • [JavaScript] 배열 요소의 위치 찾기 - indexOf
없음 출신
없음 출신
없음 출신 개발하는 백곰입니다.
  • 없음 출신
    개발하는 백곰
    없음 출신
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 프로젝트
        • 헬스장 고객 관리 시스템
        • 투두(To-Do)앱
        • 기타 프로젝트
      • 기술 스택
        • React
        • JavaScript
        • CSS
        • Git
        • Python
      • 학습 노트
        • 모던 자바스크립트 Deep Dive
        • 공식 문서 튜토리얼
        • JavaScript 코딩테스트
      • 개발 일지
        • 회고록
      • 경험 공유
  • 블로그 메뉴

    • 나의 경험
    • 메인 언어
    • 진행중인 프로젝트
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    캐글필사
    알고리즘
    Nodejs
    CJS
    자바스크립트
    프로그래머스
    데이터분석
    코딩테스트
    리액트
    npm
    eslint
    git
    프론트앤드
    JavaScript
    React
    tsconfigPaths
    TypeScript
    데이터사이언스
    개발자
    데이터분석가
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
없음 출신
[JavaScript] 반복문 - while
상단으로

티스토리툴바