일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Spring Boot
- java
- mysql
- url parsing
- 백준알고리즘
- 정렬
- EC2
- 라우터
- ELB
- react
- 리액트
- 토이프로젝트
- spring
- 알고리즘
- Algorithm
- 동적프로그래밍
- 스터디
- EventListener
- sort
- BFS
- 자료구조
- 백준
- nodejs
- 다익스트라 알고리즘
- 브루트포스
- Router
- 서버구축
- AWS
- 완전탐색
- 탐욕법
- Today
- Total
목록분류 전체보기 (111)
공부하는 블로그
Node.js - MySQL MySQL은 오픈 소스의 관계형 데이터베이스 관리 시스템(RDBMS)으로 기존의 파일 시스템보다 훨씬 효율적으로 데이터를 관리할 수 있다. Node.js와 MySQL을 연동하기 위해서는 기본적으로 컴퓨터에 MySQL이 설치되어 있어야 하며 npm을 이용하여 외장 모듈인 'mysql'을 설치해주어야 한다. ※ Node.js에서는 MySQL의 최신버전과의 연동을 지원하지 않는다. 따라서 MySQL을 설치할 때 인증 방법(Authentication Method)를 v8.0이 아닌 v5.x를 따르도록 해야한다. (2019.12.28 기준) MySQL | MySQL 설치 - Window 관계형 데이터베이스인 MySQL을 설치해보자. 아래의 링크는 MySQL Community 버전을 다..
Template Engine 템플릿 엔진(Templete Engine)은 PHP나 JSP처럼 동적인 결과를 정적인 파일(HTML)에 담기 위해 사용한다. 즉, 서버 코드인 Javascript로 연산된 결과를 변수에 넣고 변수를 뷰(view) 파일에서도 사용할 수 있도록 도와준다. 따라서 서버파일(app.js) 내에 HTML 코드를 쓰지 않아도 되므로 뷰와 서버 코드를 따로따로 관리할 수 있도록 해준다. 이러한 템플릿 엔진의 종류에는 pug(구 jade)와 ejs가 있다. 템플릿 엔진을 사용하기 위해서는 npm을 이용하여 사용할 엔진을 설치해주어야 한다. $ npm install pug $ npm install ejs 설치가 끝나면 사용할 템플릿 엔진을 서버에 등록하여 사용할 수 있다. app.set('v..
2869번: 달팽이는 올라가고 싶다 문제 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) 출력 첫째 줄에 달팽 www.acmicpc.net 달팽이가 나무를 오르는데 얼마나 걸리는지 구하는 문제이다. import java.util.Scanner; public class Main { public static void main(St..
10250번: ACM 호텔 문제 ACM 호텔 매니저 지우는 손님이 도착하는 대로 빈 방을 배정하고 있다. 고객 설문조사에 따르면 손님들은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다고 한다. 여러분은 지우를 도와 줄 프로그램을 작성하고자 한다. 즉 설문조사 결과 대로 호텔 정문으로부터 걷는 거리가 가장 짧도록 방을 배정하는 프로그램을 작성하고자 한다. 문제를 단순화하기 위해서 호텔은 직사각형 모양이라고 가정하자. 각 층에 W 개의 방이 있는 H 층 건물이라고 가정 www.acmicpc.net 호텔에 방문하는 투숙객 순서대로 거리가 짧은 객실부터 배정하여 방문 투숙객이 몇번째 방문객인지 입력하면 알맞은 객실 호수가 나오는 프로그램을 설계하는 문제이다. import java.util.Sca..
1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다. 단어 N개를 입력으로 받아 그룹 단어의 개수를 출력하는 프로그램을 작성하시오. www.acmicpc.net 단어에 존재하는 모든 문자에 대하여 각 문자가 연속해서 나타나는 그룹단어를 판별하는 문제이다. import java.util.Scanner; public class Main { static boolean isGroupword(String str) { int cur..
5622번: 다이얼 문제 상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다. 전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야 한다. 숫자를 하나 누르면 다이얼이 처음 위치로 돌아가고, 다음 숫자를 누르려면 다이얼을 처음 위치에서 다시 돌려야 한다. 숫자 1을 걸려면 총 2초가 필요하다. 1보다 큰 수를 거는데 걸리는 시간은 이보다 더 걸리며, 한 칸 옆에 있는 숫자를 걸기 위해선 1초씩 더 걸린다. www.acmicpc.net 해당하는 문자열에 알맞은 다이얼을 입력하여 총 입력 시간을 구하는 문제이다. import java.util.Scanner; public class Main { public static void main(St..
GET method GET 방식의 요청에서 파라미터를 전송하는 방법은 두 가지가 있다. 쿼리스트링(Querystring)이나 경로(Path)를 통하여 파라미터를 전달할 수 있다. 각각의 방법을 알아보자. Querystring 'req.param()'을 이용하여 쿼리스트링을 통해 요청된 파라미터를 받아낼 수 있다. app.get('/user', function (req, res) { var u_name = req.param('name'); var u_age = req.param('age'); res.send("User Name : " + u_name + " / User Age : " + u_age); }); 쿼리스트링의 id는 name과 age로 하여 보내고자 하는 데이터를 서버에 요청하자. 'http:/..
1065번: 한수 어떤 양의 정수 X의 자리수가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. www.acmicpc.net 정수 X의 자리수가 등차수열을 이루는 수를 한수라고 한다. 주어진 정수 N에 대해서 1보다 크거나 같고 N보다 작거나 같은 한수의 개수를 출력하는 문제이다. import java.util.Scanner; public class Main { // 한수인지 아닌지 판별하는 함수 static boolean hansu(int n) { String num = n + ""; int len = num.length(); // 한자..