[CS & Algorithm] JS로 공부 준비 !

werthers·2023년 5월 13일
0

CS&Algorithm

목록 보기
1/12
post-thumbnail

코딩 테스트 준비 및 CS 공부에 필요성을 느껴 현재 배우고 있는 언어인 JavaScript를 이용하여 알고리즘 공부를 시작하고 기록해보려고 한다 !

목적

  • 정해진 시간에 몇 개의 알고리즘 문제를 제시하기 때문에 적절한 알고리즘을 활용한 문제를 해결할 수 있는 능력을 길러야한다.

환경

  • 온라인 상에서 제공되는 개발 환경을 사용하여 시험보기 때문에 비슷한 환경의 사이트를 사용하여 공부할 것이다.
  • 링크 공유에 편리하기 때문에 https://replit.com 을 사용할 것이다.

소스코드 관리하기

  • 알고리즘 공부를 하며 코드 템플릿을 만드는 것이 유리하다.
  • 대표적인 알고리즘의 기본 형태를 미리 구현해 놓고 GitHub를 이용하여 라이브러리화 할 것이다.

공부 알고리즘 유형

  • 구현
  • 정렬
  • 탐색 (DFS, BFS)
  • 탐욕
  • 이외에도 여러 유형을 풀어볼 것이다.

시간 복잡도

  • 시간 복잡도는 알고리즘의 성능을 나타내는 척도
  • 특정 크기의 입력에 대하여 알고리즘의 수행시간 분석
  • 동일한 기능을 수행하는 알고리즘이 있다면 복잡도가 낮을수록 우수하다.

빅오 표기법 (Big-O Notation)

  • 가장 빠르게 증가하는 항만을 고려하는 표기법이다.
  • 함수의 상한을 나타낸다.

알고리즘 설계 tip

  • JS 기준 1억 번의 연산을 처리하기 위해 약 1~5초가량의 시간이 소요된다.
  • 코딩 테스트 문제에서 시간 제한은 통상 1~5초 가량이다.
  • 문제에 명시되지 않은 경우 대략 5초정도라고 생각하고 문제를 푸는 것이 합리적이다.

요구사항에 따라 적절한 알고리즘 설계

  • 주어지는 입력의 범위(N)과 시간제한을 통해 적절한 알고리즘을 사용할 수 있어야한다.
  • 예시) 제한 시간이 1초인 경우
profile
Hello World !

0개의 댓글

관련 채용 정보