자바스크립트(5)
-
[패스트캠퍼스] 코딩테스트 챌린지 후기
코딩테스트 챌린지? 왜 시작했니?😮 프론트엔드 엔지니어를 목표로 잡은 후 , 국비교육,부트캠프 등 CS지식을 습득하거나 프로젝트를 경험해보는 등 실무에서 도움이 될만한 것 위주로 공부해왔다. 이런것도 만들어보고 저런것도 만들어보면 내가 원하는 프론트엔드 엔지니어가 될 수 있을 거라고 생각했다. 하지만 내가 아무리 굉장한 프로젝트에서 활약을 했다고 한들, 코딩테스트를 통과하지못하면 내가 노력했던것들을 보여 줄 기회조차 없다는 걸 알게되었다. 혼자 프로그래머스도 꾸준히 풀었지만, 일정 난이도 이상의 알고리즘 문제에서 항상 막혔고 발전이 더디다고 느꼈다. 그 시기에 패스트캠퍼스에서 진행하는 코딩테스트 챌린지를 보게됐고 좋은 기회라고 생각하여 진행하게 되었다. 챌린지를 하면서 어떤걸 얻었어? 풀이법이나 원리는 ..
2023.05.19 -
패스트캠퍼스 JavaScript 코딩테스트 131개 예제 & CS지식으로 끝내기 강의 4주차
ch.2 JavaScript 핵심 자료구조[그래프의 표현] 그래프란 ? 그래프란 사물(vertex)의 정점과 간선(edge)은 표현하기위한 방법이다. 그래프는 두가지 방법으로 구현이 가능하다 인접행렬 : 2차원배열을 이용한 방법 인접 리스트 : 연결리스트를 이용한 방법 인접행렬 인접행렬 : 무방향 무가중치 그래프 무방향 무가중치 그래프는 모든 간선이 방향성과 가중치를 가지지 않는 그래프를 말한다. 인접 행렬의 장점은 구현이 쉽다는 점입니다. 그리고, 노드 i와 노드 j가 연결되어 있는지 확인하고 싶을 때, adj[i][j]가 1인지 0인지만 확인하면 되기 때문에 O(1)이라는 시간 복잡도에 확인할 수 있다는 점이 있습니다. 하지만, 치명적인 단점 또한 존재합니다. 전체 노드의 개수를 V개, 간선의 개수를..
2023.05.12 -
패스트캠퍼스 JavaScript 코딩테스트 131개 예제 & CS지식으로 끝내기 강의 3주차
ch.2 JavaScript 핵심 자료구조[우선순위 큐 (Priority Queue)] 우선순위 큐(Priority Queue) 자료구조란 ? 먼저들어간 데이터가 먼저 나오는 큐와는 다르게, 우선순위큐는 힙(heap)을 이용한 우선순위를 통해 가장 우선순위가 높은 데이터가 먼저 나오게된다. 주로 컴퓨터 운영체제, 온라인 게임 매칭 등에서 활용된다. 우선순위 큐(Queue) 구현하는 방법 우선순위 큐는 우선순위를 정의하고, 가장높은 우선순위의 데이터를 먼저 꺼내는 자료구조이다. C++과 python은 내장 라이브러리로 우선순위 큐를 제공하지만, 자바스크립트는 직접 구현해 사용해야한다. 그래서, JS환경에서 우선순위큐는 보통 힙(heap) 이라는 이진트리를 이용해서 구현한다. 힙은 가장 큰/작은 원소를 찾는..
2023.05.07 -
패스트캠퍼스 JavaScript 코딩테스트 131개 예제 & CS지식으로 끝내기 강의 2주차
ch.2 JavaScript 핵심 자료구조[큐 (Queue)] 큐(Queue) 자료구조란 ? 스택(Stack) 자료구조와는 다르게 선입선출 형식의 자료구조이다. 먼저들어간 데이터가 먼저 빠져나온다. (예를 들면 게임 큐를 돌리고있다 => 먼저 게임 대기열에 들어 온 유저부터 게임에 매칭된다.) 이 큐 자료구조는 탐색 알고리즘에서 특히나 활용빈도가 높다. 그 이유는 먼저 들어간 자료가 먼저나온다는 로직이 상당히 많은 알고리즘에서 유용하게 사용될 수 있는 특성이기 때문이다. 스택같은경우는 배열리스트로 구현을 했지만, 큐 자료구조는 배열을 사용하면 효율적이지 못하다고 볼 수 있다. 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.큐(Queue) 구현하기 class Queue { construc..
2023.04.30 -
패스트캠퍼스 JavaScript 코딩테스트 131개 예제 & CS지식으로 끝내기 강의 1주차
1. 왜 패스트캠퍼스 JavaScript 코딩테스트 강의를듣기로 마음먹었어?😮 알고리즘은 수학적인 사고가 뛰어난 천재들이나 푸는거라고 생각해왔다. 더군다나 나는 프론트엔드 엔지니어를 꿈꾸기 때문에 알고리즘과는 거리가 멀다고 생각했다. 하지만 코드를 짤 때마다 사고의 흐름대로 작성하다보니 불필요한코드가 많아지고, 하나의 기능을 구현하기위한 또 다른 기능을 구현해야만 했고 이 과정이 매우 효율적이지않다고 생각했다. 이러한 코드들을 깔끔하게 작성하는 방법에 대해 고민하던 중 알고리즘을 통해 코드를 보다 효율적으로 작성 가능하다는 걸 알게되었고, 혼자 시작하기에는 무리가 있다고 판단하여 강의를 수강하게 되었다. 2. 강의에서는 어떤걸 배워?😮 코딩테스트 풀이를 위한 JavaScript 문법 JavaScript ..
2023.04.23