210203_TIL

seungyeon·2021년 2월 3일
0

TIL

목록 보기
11/64

🍎 오늘 한 일

  • Coplit 알고리즘 Basic 11, 13, 18-20
  • DOM 학습

✍ 기억할 것

알고리즘

  • .includes() method는 문자열에도 사용할 수 있다.

    아래는 includes()를 배열과 문자열에 각각 사용한 사례이다.

주어진 길이가 1인 문자열이 숫자(digit)인지 확인하는 방법

해당 문자가 숫자들의 집합(문자열 또는 배열)에 속하는 지를 판단하기

  • Array.includes(elem)
const str = 'Hello wor1d 1';
let digits = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'];
if (digits.includes(str[i])) {...};
  • String.includes(elem)
const str = 'Hello wor1d 2';
let digits = '0123456789';
if (digits.includes(str[i])) {...};
  • 배열 내장 고차함수에서 '내장'을 영어로 'native(built-in)'라고 한다.

  • 알고리즘이란?
    - 문제를 푸는 방법
    - a finite set of instructuons

  • 제곱근 문제 >> Math.round(num**0.5 * 100) /100 이렇게 푸는건 어떤가요?

  • array.filter()의 응용법
    배열에서 맨 앞이나 끝이 아닌 중간에 위치한 요소들을 제거한 배열을 반환하고자 할 때, 제거할 요소를 null로 바꿔준 다음 filter메소드를 사용해 null만 걸러내면 된다.

  • 배열 내장 함수 개념

    • map은 n개를 받아 n개를 리턴한다.
    • filter는 n개를 받아 n개 이하를 리턴한다.
    • reduce필요한 부분만 누적시킨다.
      'reduce'는 줄이다. 환원하다. 차원을 축소하다. 라는 뜻을 가진다.
      배열이라는 여러차원의 데이터를 한 차원으로 축소시키는 것.
  • for문을 while문 같이 쓰는 방법 (자주 사용하지 않는 방법)
for (let i=0; true; i++) {...} //for문의 조건식에 true를 넣어주면 무조건 실행한다는 뜻이니까 while문과 똑같이 작동한다.
  • 알고리즘 문제를 풀 때 스스로 반례를 생각해보는 것이 중요하다.

🤔 느낀 점

  • 물론 공부는 항상 부족한거겠지만 알고리즘 공부은 더 필요하다. 스프린트가 끝났어도 꾸준히 이어나가자.
  • DOM을 처음 배웠다. HTML과 CSS에 대해 배우고 만져보면서 JS로 건드리면 구현할 수 있는 기능이 더 많을텐데라는 생각을 자주 했지만 정작 JS로 HTML을 어떻게 건드리는지는 몰라서 항상 막연하고 답답하게 느껴졌는데, DOM에 대해 알고나니 이제야 웹 개발이 어떤 것인지 감이 조금은 잡히는 것 같다.
  • DOM.. 어려웠다. 쉽게 가닥이 안잡혀서 관련 자료를 찾다보니 확실히 영어 문서들이 자세한 내용을 담은 경우가 많아서 새삼 개발자에게 영어 독해 능력이 얼마나 중요한지 깨달았다. (영어 공부 게을리하지 말자...😐)

🌈 내일 할 일

  • Lesson - HTML에 자바스크립트 적용하기
  • Sprint - 유효성 검사 (solo)
  • Lesson - 문제를 함수로 분리하기
  • Sprint - Twittler 🤩 함수 작성 (pair)

0개의 댓글