⛳️ 그래프의 종류 Directed Graph: 방향이 있는 그래프 Cyclic Graph: 하나 이상의 cycle이 있는 경우 Acyclic Graph: cycle이 없는 경우 Undirected Graph: 방향이 없는 그래프 ⛳️ 그래프를 표현하는 방법 1. Adjacency Matrix, 행렬 (2차원배열) matrix[i][j]에 정점 i와 정점 j의 연결 상태 저장 간선이 있으면 1, 간선이 없으면 0으로 표현 (1) 방향 그래프 (2) 무방향 그래프 코드 #include using namespace std; int main(){ // n : 정점 개수, m : 간선 개수 int n,m; cin >> n >> m; int graph[n+1][n+1]; for(int i=0; i> m; vect..
🚨 에러 상황 Node.js로 Mongoose의 aggregate로 $geoNear 를 사용했더니 아래와 같은 에러 발생 "There is more than one 2dsphere index; unsure which to use for $geoNear ✨ 해결 방법 1. 만약 하나의 2dsphere index만 필요하다면 불필요한 index 삭제 아래 링크를 참고해서 삭제한다. https://shunnyjang.tistory.com/14?category=1048808 [mongoDB] collection의 index 관리 ⛳️ 1. index 조회 locations라는 collection에 생성한 index들을 조회하고 싶을 때 .getIndexes() > db.locations.getIndexes() ..
⛳️ 1. index 조회 locations라는 collection에 생성한 index들을 조회하고 싶을 때 .getIndexes() > db.locations.getIndexes() 아래처럼 index 종류가 출력된다. [ { v: 2, key: { _id: 1 }, name: '_id_' }, { v: 2, key: { pos: '2dsphere' }, name: 'pos_2dsphere', '2dsphereIndexVersion': 3 }, { v: 2, key: { position: '2dsphere' }, name: 'position_2dsphere', '2dsphereIndexVersion': 3 } ] 나같은 경우는 pos라는 field가 없는데 2dsphere index가 생성되어 있었고 ..

https://programmers.co.kr/learn/courses/30/lessons/43238?language=python3 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 programmers.co.kr 시간이라는 범위 내에서 점점 범위값을 줄여나가면서 최소값을 찾아나가는 문제이다. 즉, 절대 불가능한 가장 작은 시간부터 가장 최악의 시간이라는 범위 내에서 해결 가능한 시간 범위를 찾고 최소를 찾는 것이다. 문제의 입출력 예를 읽고 이게 왜 이분탐색인지 받아들이기 어려웠는데 시간의 흐름에 따라 답을 구하는 방법이 아니라 일단 모든 인..

https://www.acmicpc.net/problem/15724 15724번: 주지수 네모 왕국의 왕인 진경대왕은 왕국의 영토를 편하게 통치하기 위해서 1X1의 단위 구역을 여러 개 묶어서 하나의 거대 행정구역인 주지수(州地數, 마을의 땅을 셈)를 만들 예정이다. 진경대왕은 www.acmicpc.net ✨ 문제 풀이 (1,1)부터 (i, j)까지의 인구수 합을 저장하는 dp 배열을 memo[i][j]라고 하자 위에 그림과 같이 빨간 네모 + 초록색 네모 - 빨간 네모와 초록색 네모가 겹치는 네모 + 그 부분의 인구수 를 계산하면 (i, j)까지의 인구수 누적합이다 이를 점화식으로 세우면 (i, j)의 인구수 + (1,1)부터 (i-1, j)까지의 인구수 합 + (1, 1)부터 (i, j-1)까지의 인..

https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 🗓 knapsack 조합 최적화의 대표적인 문제 유형 한 여행가가 가지고 가는 배낭에 담을 수 있는 무게의 최댓값이 정해져 있고, 일정 가치와 무게가 있는 짐들을 배낭에 넣을 때, 가치의 합이 최대가 되도록 짐을 고르는 방법을 찾는 문제 문제 유형 짐을 쪼갤 수 있을 때 : 무게를 소수로 쪼갤 수 있음, 분할가능 배낭문제(Fract..
⛳️ 1. apt-get 업데이트 $ sudo apt-get update -y $ sudo apt-get upgrade -y ⛳️ 2. node 설치 아래 글 참고하세요 https://shunnyjang.tistory.com/8 [node/linux] node 설치하기 1. nvm 설치 $ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash 2. 환경 변수 설정 $ export NVM_DIR="$HOME/.nvm" $ source ~/.bashrc nvm 가 잘 되는지 확인 $ nvm --version.. shunnyjang.tistory.com ⛳️ 3. 필요 패키지 설치 npm 업그레이드 (선택) $ npm in..
⛳️ 1. 버전 확인 $ lsb_release -dc Description: Debian GNU/Linux 10 (buster) Codename: buster 버전에 따라 설치하는 버전이 달라지기 때문에 확인 필수 나는 GCP의 compute engine을 사용했더니 debian 10 이었음 ⛳️2. monogodb GPG public key 가져오기 wget이 없다면 먼저 설치해주자 $ sudo apt-get install wget gnupg 설치 $ sudo apt-get install gnupg 1에서 확인한 버전을 토대로!! mongodb public GPG key를 받아줘야 한다 (참고: https://docs.mongodb.com/manual/administration/install-commu..
sudo apt-get install nodejs로 설치하면 상당히 낮은 버전의 node가 설치된다 아래와 같이 설치해주자 ⛳️ 1. nvm 설치 $ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash ⛳️ 2. 환경 변수 설정 $ export NVM_DIR="$HOME/.nvm" $ source ~/.bashrc nvm 가 잘 되는지 버전 확인 $ nvm --version ⛳️ 3. 설치 가능 node 버전 확인 아래 명령어를 치면 설치 가능한 node 버전이 모두 출력된다 $ nvm list-remote ... v16.10.0 v16.11.0 v16.11.1 v16.12.0 v16.13.0 (LTS: Galliu..
ubuntu 20.04 환경에서 npm install -g 을 하다 아래와 같은 에러 발생 npm ERR! code EACCES npm ERR! syscall mkdir npm ERR! path /usr/lib/node_modules/ npm ERR! errno -13 npm ERR! Error: EACCES: permission denied, mkdir '/usr/lib/node_modules/ mkdir 외에도 symlink로도 발생함 ✨ 해결방법 global로 npm 패키지를 설치하다 보면 생기는 권한 이슈로 gloabl 패키지 설치 디렉토리를 홈 디렉토리에 생성한다 mkdir ~/.npm-global npm config set prefix '~/.npm-global' export PATH=~/.n..