Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 클라이언트
- 취업
- 알고리즘
- react
- 엔퀸즈
- 초보
- array
- 개발
- Instantiation Patterns
- 포스기
- JS
- 코드스테이츠
- this
- 공부
- DOM
- underbar
- grpahQL
- 제일어려워
- 코딩
- 리액트
- ftech
- method
- nqueens
- 일상
- 해커톤
- vscode
- JavaScript
- underscores
- 자바스크립트
- 연습
Archives
- Today
- Total
analogcoding
algorithm 연습3 본문
문제. 인자로 받는 문자열의 숫자가 2의 제곱수면 true를 아닐 경우 false를 리턴.
Ex) input : 2 , 4 , 8 , 16 , 32 , 64 , 128 ... => output : true
input : 1 , 22 , 27 , 222 ... => output : false
해결방안.
1. input값을 숫자로 받기.
2. for문을 사용해서 input을 2의 i ( i는 input보다 작게 ) 제곱과 비교.
3. Boolean 값 리턴.
iput을 숫자로 변환하고 i 번 제곱할 i 를 설정해준다.
var powerOfTwo = function(str) {
var num = Number(str);
// 숫자로 변환
for(let i = 1 ; i < num ; i++){
// input이 num의 범위를 넘어가지 않으므로 조건을 i < num으로 설정
if(num === Math.pow(2,i)){
return true;
}
}
return false;
}
* Math.pow()
ㄴ Math.pow( base , exponent ) 함수는 base를 exponent번 곱한 결과를 반환한다.
Math.pew(2,num) : 2를 0 ~ input만큼 곱한 수와 input을 비교해서 같으면 2의 제곱수이므로 true , 아니면 false를 리턴한다.
결과확인
'Study JS for me > Algorithm' 카테고리의 다른 글
algorithm 연습6 (0) | 2019.04.28 |
---|---|
algorithm 연습5 (0) | 2019.04.27 |
algorithm 연습4 (0) | 2019.04.27 |
algorithm 연습2 (0) | 2019.04.26 |
algorithm 연습 (0) | 2019.04.26 |
Comments