본문 바로가기
기록/멋쟁이사자처럼 FE 스쿨

[멋사 FE 스쿨] 32일차 리뷰

by ahj 2021. 12. 14.

멋쟁이사자처럼 프론트엔드스쿨 w/ 제주코딩베이스캠프


오전(09:00~11:50) 수업 w/ Licat

morning break

  • 평생 하게 될 언어? 3~4개?
    JS하면 Python하게 될 확률도 높고
  • C를 만나게 될 일도 적고, FE가 Java를 만지게 될 일도 없을 것이다.
  • 이직 때 코테를 보게 될 확률

수업

드디어 알고리즘, 자료구조 수업!

  • 알고리즘, 자료구조가 중요한데 이게 왜 중요한지 아는 사람은 많지 않다.
우리의 목표는 특정 또는 불특정한 현상을 해결할 가작 효율적인 방법을 찾아 논리적으로 표현 하는 것이다. - Hojun Licat Lee
  • 더 나은 프로그래머가 되기 위한 길
  • 알고리즘이 필요 없을 정도로 뛰어난 사람들에 대한 이야기
    특징 → 프로그래밍을 정말 재밌어하는 사람, 페이지를 만들고 하는 것도 아니고 게임처럼 하는 친구들.. 가르칠게 없어서 하산 시킨 기억..ㅋㅋ
  • 논리적 절차가 중요한 알고리즘
  • 요리를 해먹는 게 중요하지 요리에 대한 정의가 중요하지 않듯이 알고리즘을 해서 먹고 즐기는게 중요하지 알고리즘에 대한 정의는 중요하지 않다.
  • 복잡도
    보통 계산 복잡도가 낮으면 시간 복잡도가 작아진다
    공간 복잡도는 그렇게 결정적이지 않은 편
  • 각 회사마다 투자한 코테 사이트가 있으니 들어가서 풀어보고 익숙해지자
  • 언어 선택
    속도 → C++, 풀이 → Python
  • 코테를 볼 때 각 알고리즘들이 바로 생각이 나지 않기 때문에 폴더로 따로 관리해둘 필요가 있다. 즉, 전략이 필요하다.
  • 1차 코테는 보통 인터넷이 되는 곳에서 한다. 2차 테스트는 대부분 구현 테스트이기 때문에
  • Cheat sheet는 미리미리 정리해서 출력해서 옆에 두고 봐가면서하기
  • 예외처리를 꼭 기억해두자
  • 알고리즘 자체는 언어를 뛰어넘기 때문에
  • 알고리즘 풀이에는 전략이 필요하다.
  • JS에서는 array를 채우기 위해서 fill method를 이용
  • 코드 스니펫 너무너무 좋은 강의
    https://youtu.be/orf9ailzXvI
    보고 다 저장하고 익혀두고 응용해서 문제까지 풀어보자
  • 대표님 추천해주시는 책
    → 파이썬 알고리즘 인터뷰
    http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9791189909178
  • JS의 sort, min 등의 함수들의 Big O를 알기 힘든 것은 런타임마다도 또 속도가 다를 수 있기 때문에
  • JS를 Python처럼 함수를 만들어줘서 구현하신다고 ㅋㅋ ex) Python의 zip과 같은 함수를 구현해서 사용 ㅎ.ㅎ

오후(13:00) 수업 w/ Licat

  • 스니펫 모음 사이트https://www.30secondsofcode.org/js/p/1
  • 우리는 스택과 큐를 왜 이용하는가?
    → 컴퓨터 언어를 만들 때 자료구조를 통해서 효율적인 구조를 만들 수 있기 때문에
  • 굉장히 큰 데이터를 넣게 되면 array로는 우리가 검색했을 때 사이트들이 뜨는 것처럼 빠르게 뜨게 만들거나 데이터를 꺼내줄 수가 없다.
  • class를 구현하지 않으면 아예 통과를 못하는 수준의 문제들도 있다.
  • 알고리즘 시각화 페이지
    https://visualgo.net/ko

Linked List

  • head를 알고 있고 각 칸마다 다음 주소 갖고 있고
  • 간단히 object로만 구현하면
const list = {
    head: {
        value: 90,
        next: {
            value: 2,
            next: {
                value: 77,
                next: {
                    value: 35,
                    next: null
                }
            }
        }
    }
}
  • class로 제대로 구현하다가 수업 끝 → github에서 확인

코드라이언 JavaScript 수강(16:00~18:00)

댓글