Dgos

dongjune's dev blog

[Data Structure] 우선순위 큐와 힙 - C++

priority queue, heap

Intro 우선순위 큐는 우선순위가 가장 높은 자료가 먼저 꺼내진다. 우선순위 큐는 이진검색트리로 구현할 수 있지만 heap으로 더 간단하게 구현할 수 있다. 힙을 사용하면 새 원소를 추가하는 연산과 가장 큰 원소를 꺼내는 연산을 모두 O(lgN)시간에 수행 할 수 있다. 힙의 정의와 구현 Heap 부모 노드가 가진원소는 항...

[MySQL] MySQL 기본

CRUD, JOIN

1. MySQL 의 구조 표들을 그룹핑 → 데이터베이스(스키마) 스키마들을 저장 → 데이터베이스 서버 MySQL을 설치한 것은 데이터베이스 서버를 설치한 것 2. MySQL 서버 접속 1 mysql -uroot -p 이후 설정한 비밀번호를 입력하면 mysql 서버에 접속 가능합니다. 3. CRUD 1. DATABASE 생성...

[NestJs] Heroku로 NestJs 배포 시 config 값 설정

NestJs heroku deploy

heroku를 통해 NestJS 앱을 배포할 때, 아래처럼 heroku 앱이 .env에 설정해놓은 MongoDB의 URI를 읽지 못하여 Unable to connect to the database 오류가 발생했다. 프로젝트에서 MongoDB의 URI나 Json web token 의 key 같은 config 값들을 모두 .env 파일로 관리하였는데...

[React] React 에서 proxy 설정이 먹히지 않을 때

React proxy error

stackoverflow에서 검색결과 cache문제인것으로 보인다고 한다. cache 문제를 해결하기 위해 다음의 과정을 수행했다. 다음 명령어를 통해 package-lock.json 과 node_modules 폴더를 삭제해준다 1 $ rm -r package-lock.json node_modules 다시 설치해준다 1 $ np...

[NestJs] NestJS에서 CORS 해결하기

NodeJs, Typescript

main.ts에서 아래의 코드 중 한가지 사용 app.enableCors() 코드 추가 1 2 3 const app = await NestFactory.create(AppModule); app.enableCors(); await app.listen(3000); NestFactory.create() 메소드에 cors:tru...

[Project] Random Trump Card - C++

react, typescript project

Project URL Github Repository Description 기능 Trump card를 랜덤하게 섞을 수 있고, 한 장씩 뽑을 수 있는 앱입니다. 이전에 뽑은 카드로 돌아갈 수도 있습니다. 개발 목적 운동 루틴을 찾아보다가 Deck of pain rep이라 불리는 운동 세트법을 알게 됐습니다. Trump Card를 섞은 후 한 장씩 뽑으...

[Algorithm] Merge Sort (병합 정렬) - C++

Sort

병합정렬 병합정렬은 이전에 포스팅한 퀵정렬과 마찬가지로 분할정복 패러다임을 기반으로 한 정렬 알고리즘입니다. 다음은 병합정렬의 매커니즘을 보여주는 그림입니다. 위의 그림을 보면 병합정렬은 분해가 다 이루어진 후 병합을 하면서 정렬이 이루어집니다. 퀵정렬이 분해를 하면서 정렬이 이루어지는 것과는 반대되는 모습입니다. 분해과정은 재귀함수로 구현해주고 ...

[Leetcode] 22. Generate Parentheses - C++

Recursion

문제 Leetcode 22 풀이 n이 주어지면 n쌍의 가능한 모든 유효한 괄호들의 조합을 구하는 문제입니다. 재귀함수를 통해서 풀어주었습니다. 아래는 재귀함수의 코드입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 // L : 고른 괄호의개수 // lCnt : '(' 를 고른 개수 // useable : ')' 를 고를 수...

[Leetcode] 64.Minimum Path Sum - C++

DP

문제 64.Minimum Path Sum 풀이 DP와 Top-down 방식의 재귀함수를 활용하여 풀어줬습니다. 다음은 재귀함수 코드입니다. 1 2 3 4 5 6 7 8 9 10 11 int getMin(vector<vector<int>>& grid, int y, int x){ // 기저 사례 if(y==0 &...

[JavaScript] 12가지 유용한 배열 함수 - Array APIs

Array method

join join 함수는 배열의 모든 요소들을 string 하나로 합쳐줍니다. 1 2 3 const fruits = ["apple", "banana", "orange", 1]; const result = fruits.join(""); console.log(result); // 출력 : applebananaorange1 split split 함...