반응형

It 200

[백준/Python] 특정 거리의 도시 찾기

https://www.acmicpc.net/problem/18352 18352번: 특정 거리의 도시 찾기 첫째 줄에 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시의 번호 X가 주어진다. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) 둘째 줄부터 M개의 줄에 걸쳐서 두 개 www.acmicpc.net 처음에 제출했을 때 시간 초과가 났다! 이유를 알아보니 파이썬은 input().split() 으로 입력하는 경우 입력량이 많기 때문에 시간 초과가 나는 것이었다... 시간 초과가 나지 않으려면 sys.stdin.readline() 을 사용해야 한다! 이 문제는 최단 거리를 찾는 문제로 너비 우선 탐색(BFS)을 이용하면 풀 ..

Algorithm/백준 2021.07.24

[Node.js+MongoDB] 몽구스 (2) (Mongoose)

https://soohyun6879.tistory.com/166 [Node.js+MongoDB] 몽구스 (1) (Mongoose) 몽구스란? (Mongoose) 몽구스는 MYSQL 의 시퀄라이즈와 같은 것입니다. 몽구스는 시퀄라이즈와 달리 ODM 이라고 불리는데 그 이유는 MongoDB는 릴레이션이 아니라 다큐먼트를 사용하기 때문입니다. Mongo soohyun6879.tistory.com 이전 포스팅에서 몽고디비와 몽구스를 연결하는 것까지 완료했습니다! 이번 포스팅에서 스키마를 정의하고 쿼리를 수행하는 쿼리를 만들어 사용자 등록, 댓글 등록, 댓글 수정 등 기능들을 완성해보겠습니다 1. 스키마 정의하기 schemas 폴더에 users.js 와 comment.js 를 만듭니다. (MongoDB의 컬렉션 ..

Back-end/Node.js 2021.07.23

[프로그래머스/Python] 도둑질 - Level4

https://programmers.co.kr/learn/courses/30/lessons/42897 코딩테스트 연습 - 도둑질 도둑이 어느 마을을 털 계획을 하고 있습니다. 이 마을의 모든 집들은 아래 그림과 같이 동그랗게 배치되어 있습니다. 각 집들은 서로 인접한 집들과 방범장치가 연결되어 있기 때문에 인접한 programmers.co.kr 이 문제는 첫번째 집부터 마지막 집까지 하나씩 추가하면서 최대가 될 수 있도록 값을 구하면 된다. 인접한 두 집은 털 수 없기 때문에 "현재 i번째 집 money + i-2번째 집 money" 와 "i-1번째 집 money" 중 더 큰 값을 선택하면 된다. 즉, 점화식은 dp[i] = max(dp[i-2] + money[i], dp[i-1]) 가 된다. 이 문제는..

[Node.js+MongoDB] 몽구스 (1) (Mongoose)

몽구스란? (Mongoose) 몽구스는 MYSQL 의 시퀄라이즈와 같은 것입니다. 몽구스는 시퀄라이즈와 달리 ODM 이라고 불리는데 그 이유는 MongoDB는 릴레이션이 아니라 다큐먼트를 사용하기 때문입니다. MongoDB 자체가 자바스크립트인데도 굳이 자바 스크리브 객체와 매핑하는 이유는 MongoDB 에 없어서 불편한 기능들을 몽구스가 보완해주기 때문입니다. MongoDB 는 테이블이 없어서 자유롭게 데이터를 넣을 수 있기 때문에 잘못된 자료형의 데이터를 넣거나 다른 다큐먼트에 없는 필드의 데이터를 넣을 수도 있습니다. 이러한 실수를 막기 위해 몽구스는 데이터를 필터링해주는 역할을 합니다. 또, populate 라는 메서드로 관계가 있는 데이터를 쉽게 가져올 수 있습니다. MongoDB 설치법과 계정..

Back-end/Node.js 2021.07.20

[Node.js+MYSQL] 시퀄라이즈 (3) (Sequelize)

https://soohyun6879.tistory.com/163 [Node.js+MYSQL] 시퀄라이즈 (2) (Sequelize) https://soohyun6879.tistory.com/162 [Node.js +MYSQL] 시퀄라이즈 (1) (Sequelize) 시퀄라이즈란? (Sequelize) 시퀄라이즈는 ORM 입니다. 즉, 자바스크립트 객체와 데이터베이스의 릴레이션을 매핑해주는 도구입.. soohyun6879.tistory.com 이전 포스팅에서 모델과 관계 정의까지 완료했습니다! 이번 포스팅에서 사용자 등록, 댓글 쓰기 등 쿼리 수행을 해보겠습니다 1. 시퀄라이즈 쿼리 알아보기 쿼리 수행을 하기 전에 시퀄라이즈에서 쿼리를 어떻게 사용하는지 알아야 합니다! 다음 예시를 보면 간단한 CRUD 쿼..

Back-end/Node.js 2021.07.20

[프로그래머스/Python] 등굣길 - Level3

https://programmers.co.kr/learn/courses/30/lessons/42898 코딩테스트 연습 - 등굣길 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = programmers.co.kr 이 문제는 동적계획법 문제로 왼쪽 위 집에서부터 모든 경우의 수를 계산하며 학교까지 가면 되는 문제였다. 최단 경로로 가기 위해서는 오른쪽이나 아래쪽으로만 움직여야 하므로 [i][j] 위치에 오는 방법은 [i-1][j] 에서 오른쪽으로 움직이거나 [i][j-1] 에서 아래쪽으로 움직이는 방법이다. 따라서 경우의 수를 구할 때 오른쪽이나 아래쪽만 고려해..

[Node.js+MYSQL] 시퀄라이즈 (2) (Sequelize)

https://soohyun6879.tistory.com/162 [Node.js +MYSQL] 시퀄라이즈 (1) (Sequelize) 시퀄라이즈란? (Sequelize) 시퀄라이즈는 ORM 입니다. 즉, 자바스크립트 객체와 데이터베이스의 릴레이션을 매핑해주는 도구입니다. 시퀄라이즈는 여러 가지 데이터베이스와 연결할 수 있습니다. soohyun6879.tistory.com 이전 포스팅에 이어서 시퀄라이즈에 대해 살펴보겠습니다. 이번 포스팅에서는 모델을 정의하고 모델 사이의 관계를 정의해보겠습니다! 1. 모델 정의하기 시퀄라이즈를 통해 MYSQL과 연결하기 위해서 MYSQL에서 정의한 테이블을 시퀄라이즈에서도 정의해야 합니다. (MYSQL 의 테이블 = 시퀄라이즈의 모델) 모델은 models 폴더 안에 정의..

Back-end/Node.js 2021.07.18

[Node.js +MYSQL] 시퀄라이즈 (1) (Sequelize)

시퀄라이즈란? (Sequelize) 시퀄라이즈는 ORM 입니다. 즉, 자바스크립트 객체와 데이터베이스의 릴레이션을 매핑해주는 도구입니다. 시퀄라이즈는 여러 가지 데이터베이스와 연결할 수 있습니다. 시퀄라이즈가 자바스크립트 구문을 알아서 SQL로 바꿔주기 때문에 자바스크립트만으로 데이터베이스를 조작할 수 있습니다. MYSQL 설치방법은 따로 다루지 않겠습니다! 설치가 다 완료되었다는 가정 하에 시작합니다 1. MYSQL에 테이블 생성하기 먼저 테이블을 생성하기 전에 테이블을 생성할 데이터베이스를 생성합니다. 다음 명령어를 MYSQL 프롬프트에 입력합니다. create database nodejs default character set utf8; use nodejs; 데이터베이스 생성 후 테이블을 생성합니다..

Back-end/Node.js 2021.07.18

[Node.js] 템플릿 엔진 사용하기 (Pug, Nunjucks)

템플릿 엔진은 자바스크립트를 사용해서 HTML를 렌더링할 수 있게 합니다. 대표적인 템플릿 엔진인 퍼그(Pug) 와 넌적스(Nunjucks) 에 대해 간단히 살펴보겠습니다. 1. 퍼그 (Pug) 먼저 퍼그를 사용하기 위해 퍼그를 설치해줍니다. npm install pug 익스프레스와 퍼그를 연결해줍니다. views 는 템플릿 파일들이 위치한 폴더를 지정하는 것입니다. view engine 은 어떠한 종류의 템플릿 엔진을 사용할지를 나타냅니다. // app.js const express = require('express'); const app = express(); app.set('port', process.env.PORT || 3000); app.set('views', path.join(__dirname..

Back-end/Node.js 2021.07.16

[Node.js] req, res 객체의 여러가지 메서드

Express의 req, res 객체의 여러가지 메서드에 대해 살펴보겠습니다! req req.app - app 객체에 접근할 수 있다. ex) req.app.get('port') req.body - body-parser 미들웨어가 만드는 요청의 본문을 해석한 객체 req.cookies - cookie-parser 미들웨어가 만드는 요청의 쿠키를 해석한 객체 req.ip - 요청의 ip 주소 req.params - 라우트 매개변수에 대한 정보가 담긴 객체 req.query - 쿼리스트링에 대한 정보가 담긴 객체 req.signedCookies - 서명된 쿠키들 req.get(헤더 이름) - 헤더의 값 res res.app - app 객체에 접근할 수 있다. res.cookie(키, 값, 옵션) - 쿠키를 ..

Back-end/Node.js 2021.07.16
반응형