function sumTo(num) {
// TODO: 여기에 코드를 작성합니다.
/**
* 수를 입력받아 0부터 해당수까지 합 리턴
* 3
* 1+2+3 =6
* 4
* 1+2+3+4 = 10
* 5
* 1+2+3+4+5 = 15
* num 에서 -1 씩해서 0 이될때까지의 숫자를 구한다
* 0에서 부터 num 까지의 숫자를 더한다
* 더한 값을 리턴한다.
*/
let sum = 0; // num 까지더하는 숫자
// num 보다 적은 숫자를 넣는 변수 3,2,1
let i = 1;
while (i <= num){
//i 1~3 까지 더한다
//sum 에 더한다
sum += i ;
i++;
}
return sum;
}
function powerOfTwo(num) {
// TODO: 여기에 코드를 작성합니다.
/**
* let num2 =Math.pow(2, n )
* n 을 차례로 올리면서
* == num 같은지 확인한다
* 일치하면 true 아니면 false
*/
let n = 0;
let num2 = Math.pow(2,n);
while(num2 === num){ // 반복을 끝내는 조건
if(num2 < num){ // 참인 조건을 만족하는 경우
n++;
false;
} true;
} return ;
}
코드 리뷰: 반복이 끝나는 조건/ 참인 조건 각각 무엇인지 정확하게
특히 while문은 조건이 틀렸을때 break 가 된다는 점 혼동하지 말자.
run time error/ kill 될 경우 while의 3가지 요소를 잊지 않았는지 확인해보기. (for문과 비교하며)
시간복잡도?
for 가중첩되면 느려짐.
로직을 어떻게 짜느냐가 더 중요..
while(num2 === num){ // 반복을 끝내는 조건
if(num2 < num){ // 참인 조건을 만족하는 경우
화살표 함수
리듀서 인자 리턴값 하나의 요소.인자값으로 return
reduce (()=>)사용법?