210304_TIL

seungyeon·2021년 3월 4일
0

TIL

목록 보기
30/64

IM: DAY 11

오늘은 그동안 알고리즘을 항상 어딘가 막혀있는 느낌을 주게 했던 자료구조에 대해 학습했다.
😢 코플릿 문제는 스택과 큐를 구현하는 것까지가 오늘 진도였는데, 이론을 공부할 땐 간단하다고 생각했던 내용이 막상 코드로 구현하려고 하니 로직이 빨리 떠오르지 않아 답답했다. 아직 갈 길이 멀다고 느꼈다. 요즘 이론을 복습하느라 매일 알고리즘 문제를 적어도 한 문제는 풀자는 다짐을 못지켰던 나를 반성한다.
🥰 오늘 풀었던 문제 중에 어제 공부했던 Array(n).fill(value) 를 사용하면 쉽게 초기 세팅이 가능한 문제가 있었는데, 바로 생각이 나면서 몹시 뿌듯했다. 새로 알게 된 내용을 잘 정리해두었던 나를 칭찬한다.

오늘 한 일

  • Data Structure 학습
    • Stack
    • Queue
    • Graph
    • Tree
    • BST(Binary Search Tree, 이진 탐색 트리)
  • Coplit - Stack / Queue
  • 자료구조의 개념과 종류 블로깅

기억할 것

  • 스택과 큐는 임시보관함으로 활용하는 애들이라고 생각하자
  • 알고리즘은 자료를 관리하기 위해 적절한 자료구조를 사용해 효율적으로 넣고, 검색하고, 빼내는 절차이다.
  • 배열로 Stack, Queue를 사용할 때 입출력이 이루어지는 방향에 주의하자.
    • Stack은 push(value)로 넣었으면 pop()으로 빼고,
      unshift(value)로 넣었으면 shift()로 뺀다.
    • Queue는 push(value)로 넣었으면 shift()로 빼고,
      unshift(value)로 넣었으면 pop()으로 뺀다.
  • while문은 for문과 다르게 서술형 조건(이러이러할 때까지 해라/ 수치로 딱 떨어지지 않는 조건)을 걸 수 있다. ➡ 그래서 while문을 사용하면 코드가 훨씬 단순해지는 경우가 많다. (앞으로는 더 많아질 것. while을 다루는 법에 익숙해지자!)

Math.ceil(number)

Math.ceil() 함수는 주어진 숫자를 정수단위로 올림해서 반환해준다.

Math.ceil(7.15); // 8
Math.ceil(.45); // 1
Math.ceil(-1.5); // -1

내일 할 일

  • Tree traversal(트리 순회)
  • BFS / DFS
  • 자료구조 전반적으로 블로깅하기
  • 백트래킹 알고리즘 정리하기
  • 질문들에 모두 대답할 수 있는지 확인하고 부족한 부분 체크해뒀다가 주말에 해결하기

0개의 댓글