TIL _ algo_반복문

kyoungyeon·2022년 6월 4일
0

TIL

목록 보기
43/105

ALGORITHM _ 반복문

와이라노.. 와이리 못하누..
sideproject 언제쯤..?

  • sol1
function isOdd(num) {
/**
 * num 이 홀수? 짝수 판별하는법.
 * 2로 곱했을때 나오는 수? 짝수 아니면 홀수
 * 
 */

  let pow = 2;
  if (num === 0) return false;  
  let i = 1
for( let i = 1; i<= Math.abs(num); i++ ){
  
    if(pow*i === Math.abs(num)){
      return false;
    }
  }
    return true;
}
  • sol2
function isOdd(num) {
 
  let pow = 2;
  if (num === 0) return false;  
  let i = 1
  while (i<= Math.abs(num)){
   i++;
    if( pow * i  === Math.abs(num)) {
     return false;    }  
   }
    return true;
}

👩‍💻 Review & SelfQuestion

  • 백틱 ? 무조건결과값은 배열- > string으로 나온다

  • `` 백틱 왜써요? 변수를 string 출력값을 편하게 쓰려구요!

  • 차이 알기
    ${name} + '님 안녕하세요!'
    ${name} + 님 안녕하세요!
    스페이스가 왜들어가게요?

  • 자주쓰는 메소드 - > 뮤터블?이뮤터블?차이를 알자

push? 뮤터블
map ? 이뮤터블
shift ?  뮤터블
slice ? 이뮤터블 복제복사
splice ? 삭제/ 새요소 삽입 >  뮤터블

얇은 복사 slice , 첫번째 배열만 복사를 한다.
배열안의 배열은 주소값 그대로
- 얇은 복사?
하나의 얇은계층만 복사한다.
- 깊은 복사는? 주소값이 바뀐다.
- 배열안에 배열, 계단이 5개,6개 되면??

다 slice 할수없다

참조 주소값 -> 원시 -> 사라진다.
= 모두 새롭게 복사된다.

  • console.log (true/false) 차이를 알자
let arr = [[1], [2]]
let arr2 = [arr] 
let arr3 = arr.slice()  
  • arr[1] arr[0] 의 원시값, 참조값 공부
  • 배열 슬라이스, 인자 차이를 알자.
 let a = [1, 2];
let b = [3, 4];
let c = [5, 6];

let arr = [a, b];
let arr2 = [b, c];

// 얕은 복사 예시
// 배열이 여러가지 스탭 이 있는데, 특수한 경우.  1계층만 복사할때. 
let thinArr = arr.slice();
// 깊은 복사 예시 
let deepArr = JSON.parse(JSON.stringify(arr));

console.log('thinArr === arr:', thinArr === arr);
console.log('deepArr === arr:', deepArr === arr);

console.log('thinArr[0] === arr[0]:', thinArr[0] === arr[0]);
console.log('deepArr[0] === arr[0]:', deepArr[0] === arr[0]);
  • while 문 쓸때 3가지
    초기값, 탈출조건, 상승값 (for문 조건과 동일)
    참고로 while 은 탈출조건으로도 ok

  • 문풀 시 : for - while 바꿔보기.
    map - filter / reducer / forEach for/ while
    다 바꿔서 도전해보자.

  • forEach return undefiend

  • ES5 vs ES6
    promise는 es6 문법, async await도...
    백틱은 es6 템플릿..? 더 빠르다?

sof1
sof2
es5vs6

📖 Bare-Mim:

1 코드잇 정확하게 다 알기.

문제를 보고 한눈에 정답을 맞출수있도록. 코드를 보고 해석할 수 있또록 응용해야하고.

2 코플릿 알고리즘에서 응용할 수 있도록 이해가 중요하다.

3 순서에 맞게 차근차근 돌아가자!

홍욱좌 : 코드를 음미해보기!

profile
🏠TECH & GOSSIP

0개의 댓글