알고리즘 연습 - 2의 거듭제곱의 여부를 리턴하는 함수

2021. 9. 13. 18:24·알고리즘 연습

알고리즘 연습 문제: 나의 문제 풀이 방식

문제) 수를 입력 받아 2의 거듭제곱인지 여부를 리턴?

인자: num(number 타입의 정수 num>=1)
출력: boolean 타입을 리턴할 것

주의사항: 반복문(while) 사용, Number.isInteger, Math.log2, Math.log 사용 금지

 

2의 거듭제곱들의 성질을 파악해 보자
1(2^0), 2, 4, 8 ,16, 32, 64 … 숫자들의 법칙?
→ 2로 계속 나누었을 때 결국 1이 된다
 

fuction isPowTwo(num){
    let isTwo = false;    //boolean 리턴을 위한 변수 지정
    while(num >=1){    // 해당 조건이 참일 때까지의 반복(while문)
                // num을 계속 2로 나누면 어느순간 1 또는3/4 ... 같은 수가 될 것이므로
        if(num===1){    // 계속 나누어서 1이 되었다면?
            isTwo=true;    
        }
        num=num/2;    // 2로 계속 나눈다
    }
    return isTwo;    // isTwo를 리턴
}

'알고리즘 연습' 카테고리의 다른 글

버블(거품) 정렬 알고리즘  (0) 2021.10.13
알고리즘 연습 - 문자열 배열을 입력 받아 가장 길고, 짧은 문자열을 제거  (0) 2021.09.17
알고리즘 연습 - 연속된 홀수 문자열 사이에 특정 문자 추가  (0) 2021.09.16
알고리즘 연습 - 2차원 배열의 요소로 만든 객체를 리턴하는 함수 구현  (0) 2021.09.15
알고리즘 연습 - 각 단어 첫글자만 대문자가 되게 하는 함수  (0) 2021.09.15
'알고리즘 연습' 카테고리의 다른 글
  • 알고리즘 연습 - 문자열 배열을 입력 받아 가장 길고, 짧은 문자열을 제거
  • 알고리즘 연습 - 연속된 홀수 문자열 사이에 특정 문자 추가
  • 알고리즘 연습 - 2차원 배열의 요소로 만든 객체를 리턴하는 함수 구현
  • 알고리즘 연습 - 각 단어 첫글자만 대문자가 되게 하는 함수
레실이
레실이
  • 레실이
    레실이의 티스토리
    레실이
  • 전체
    오늘
    어제
    • 분류 전체보기 (81)
      • SE Bootcamp 내용 정리 (63)
      • 알고리즘 연습 (7)
      • Project 주저리 (4)
      • 기술 면접 source (3)
      • 개발 일상 (2)
      • 생성 AI 활용 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    react 기초
    PickAndDrink
    CORS
    linux 기본 명령어
    ORM
    자료구조
    알고리즘
    Ajax
    데이터베이스
    문자열
    useRef
    객체
    node
    Linux
    중복 순열
    DOM
    react
    state
    node.js
    IT
    CSR
    KPT
    useState
    cmarket
    CSS
    JS
    JavaScript
    MVC
    promise
    인증/보안
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
레실이
알고리즘 연습 - 2의 거듭제곱의 여부를 리턴하는 함수
상단으로

티스토리툴바