[TIL]

Sarahsea 사라씨·2021년 7월 20일
0

TIL

목록 보기
34/128
post-thumbnail

오늘 배운 것

  • 알고리즘 office hour _ 최민철님

    • 문제를 해결 하는 법 먼저!
      - 문제를 순서대로 풀 수 있어야 함
      - 문제의 시작과 끝을 알아야 한다
      - 문제의 크기를 알아야 한다
      -> 대부분의 경우 입력의 크기 (시간,공간 복잡도 고려 -> 상대적으로 오늘 날의 코딩환경에서 공간복잡도의 중요성은 낮아짐
      -> 왜? ex, JS의 데이터 하나의 크기 8바이트 -> 자료100만개, 800만바이트=80MB | 128,256,512MB 메모리 주어진다고 생각해보면.)

    • 띵모먼: Q.시간복잡도 O(N²) 로 예상되는 해결법이 있다면 코드로 시도하기 전에 무조건 다른 방법을 생각해야 할까??
      나: 네! -> 정확히는, 주어지는 입력의 크기, 조건에 따라 답은 No일수 도 있다, (극단적? 예: O(N³) 이 최적의 경우일 문제도 있다,입력은 작겠지..) => 시간복잡도 O(logN) < O(N) 항상이 아님, 입력에 따라 갈 수록 격차가 난다는 포인트!

    • 프로그래밍 언어가 없이도 풀 수 있어야 한다

    • 문제를 최대한 작은 단위로 쪼개는 연습 divide & conquer

    • 재귀(필), 순열, 조합, 최대공약수, 최대공배수, dfs/bfs,
      완전 탐색 충분히 -> DP(memoization, tabulation)

    • geekforgeek.org

느낀 점

  • 토이부터, 챕터까지 알고리즘의 날이었다. 그동안 나는 brute force 처럼 구할 때도 많지 않았나..ㅎ
  • 페어와 스프린트 할때, 역시나 또 수도코드를 세세하지 않게 적고 바로 코드로 옮기려 하면, 결국 논리적 헛점에 뒤죽박죽 스파게티가 되어 버림
  • 다른 사람이 이해하지 못할 때, 명확하고 간단명료하게 코드를 설명하는 연습이 됨, 왜? 라는 질문은 좋다
  • 하기로 한 걸 완전히 다 하지 못함, 내일에 영향을 미칠만큼 날밤을 새우기도 그렇고, 자기위로일까 싶어 못 놓는 것도 참..개발자로 일하게 되면, 퇴근하고 내 개인시간에 공부를 해야할텐데, 나 왜이리 비실해진거..근손실 또르륵

내일은

  • 알고리즘 이어서
  • 리액트
profile
생각하는 사람

0개의 댓글