내가 사용하려고 적어보는 컴퓨터 셋업. homebrew 설치 및 기본 세팅 homebrew 설치 Mac에서 프로그램 설치, 관리, 삭제를 편하게 도와주는 툴인 homebrew를 설치한다. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" oh-my-zsh 설치 terminal에 간단한 색상을 부여하고, git 파일의 유무, 현재 branch 위치 등을 가볍게 알려주는 툴인 oh-my-zsh를 설치한다. sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" oh-my..
패스트캠퍼스 코딩테스트 인터넷 강의, 잔재미코딩 님의 수업을 참고하였습니다. BFS와 DFS란? 대표적인 그래프 탐색 알고리즘 너비 우선 탐색(Breadth First Search): 정점들과 같은 레벨에 있는 노드들(형제 노드들)을 먼저 탐색하는 방식 두 개의 큐를 사용한다. root와 가까운 node들부터 찾기 때문에 최단거리를 탐색할 때 유용하다. queue에 각 노드의 정보를 기록해야 하기 때문에 메모리를 많이 잡아 먹는다. 찾고자 하는 target node가 root node와 가까이 있다고 예상될 경우 BFS를 사용한다. 지도 어플에서 특정 위치까지의 최단거리 안내, 혹은 소셜미디어에서 친구 추천 등에 이용된다. 깊이 우선 탐색(Depth First Search): 정점의 자식들을 먼저 탐색하..
패스트캠퍼스 코딩 테스트 강좌, 잔재미코딩 님의 수업을 참고했습니다. 이진 탐색(Binary Search) 탐색할 자료를 둘로 나누어 해당 데이터가 있을 만한 곳을 탐색하는 방법 무작위 정수가 담긴 배열에서 특정 정수를 찾아야 할 때, 해당 배열을 오름차순으로 정렬하고, 가운데 인덱스의 요소를 확인한다. 값이 찾고자 하는 값보다 크면 가운데 인덱스에서 끝 인덱스의 가운데 인덱스를 또 확인하고, 작으면 반대로 진행한다. [저작자] by penjee.com 이미지 출처 분할정복 알고리즘과 이진 탐색 분할 정복 Divide: 문제를 하나 혹은 둘 이상으로 나눈다. Conquer: 나눠진 문제가 충분히 작고 해결할 수 있다면 해결하고, 그렇지 않다면 다시 나눈다. 재귀 함수를 많이 사용한다. 이진 탐색 Divi..
패스트 캠퍼스 코딩테스느 강좌, 잔재미코딩 님의 수업을 참고했습니다. 순차 탐색 탐색: 여러 데이터 중에서 원하는 데이터를 찾아내는 것 순차 탐색: 데이터가 담겨 있는 배열을 앞에서부터 하나씩 비교하여 원하는 데이터를 찾는 방법 구현 const data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // arr속에서 target을 찾는다. const sequencialSearch = (arr, target) => { for (let i = 0; i < arr.length; i++) { // 해당 값의 인덱스 return if (arr[i] == target) { return i; } } // arr 안에 target이 없다면 return -1; }; console.log(sequencia..