본문 바로가기

전체 글

(32)
IntelliJ 랑 AWS RDS 연동하는법 spring: profiles: group: "local": "localDB, devPort, secret, web-mvc" "dev": "devDB, devPort, secret, web-mvc" "prod": "prodDB, prodPort, secret, web-mvc"---spring: config: activate: on-profile: "localDB" datasource: url: ${DATASOURCE_URL_LOCAL} # 로컬 DB URL username: ${DATASOURCE_USERNAME} # 로컬 DB 사용자 이름 password: ${DATASOURCE_PASSWORD} # 로컬 DB 비밀번호 drive..
[백준/2798번/java] - 블랙잭 import java.util.Scanner; public class boj_2798 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int N = scan.nextInt(); int M = scan.nextInt(); int[] list = new int[N]; for(int i = 0; i < N; i++){ list[i] = scan.nextInt(); } int first = 0; int second = 1; int third = 2; int result = 0; while(first < N-2){ int sum = list[first] + list[second] + list[third]; if( s..
MySQL 로 테이블만들고, 간단한 검색하기 create database university; use university; 위의 SQL 문을 실행시켜서 먼저 university 라는 database 를 먼저 만들어보겠다. 제대로 실행이 되었다면 좌측 상단에 university 가 생겼을거고 만약 아직 보이지 않는다면 새로고침버튼을 눌러보자! 그리고 이 데이터베이스를 사용하겠다는 use university 를 실행시켜 해당 데이터베이스 안에서 테이블들을 만들어보자. create table student ( sno integer primary key, sname varchar(10) not null, year integer not null default 1, dept varchar(10), email varchar(30), enter_date date..
SQL 개요 및 DDL 이번에 SQL 개요 및 DDL 에 대해서 알아보자. 자세한 설명은 아래에서 하겠다! SQL(Structed Query Language) 의미에서도 볼 수 있듯이 구조화된 질의어이다. 자연어로 “학년이 3학년인 학생들의 학번과 이름을 알려줘” 라고 할 수 없으니까 구조화된 질의어를 만들었고 예를들면, "SELECT sno, sname FROM student WEHRE syear=3; "이런식으로 작성할 수 있다. 종합 데이터베이스 언어 역할을 한다. 즉, 데이터 베이스와 인터렉트 할 수 있는 언어라는 것을 의미한다. 단순히 검색만을 위한 데이터 질의어가 아니다. 테이블의 구조를 정하거나, 삽입, 삭제, 갱신과 같은 조작, 혹은 제어 와 같이 다양한 작업을 처리할 수 있는 그런 언어로 설계되어있다. 데이터 ..
관계대수 이번엔 관계대수에 대해 알아보겠다! 관계대수(Relational Algebra) 릴레이션 단위로 데이터를 처리, 조작하는 연산의 집합을 관계대수라고 한다. 릴레이션은 테이블이면서, 투플들의 집합을 말한다. 관계대수에는 집합 연산자, 순수 관계 연산자 등을 사용하는데, 집합연산자에는 합집한, 교집합, 차집합, 카티션 프로덕트가 있다. 집합 연산자 합집합(U) 교집합(∩) 차집합(-) 카티션 프로덕트(x) 합병가능한 릴레이션에는 합집합, 교집합, 차집합이 있고 합병 가능하려면 1. 차수가 같아야하고 2. 대응 애트리뷰트 쌍 별로 도메인이 같아야 한다! 합집합, 교집합, 카티션 프로덕트는 결합법칙, 교환법칙이 성립하지만, 차집합은 결합법칙, 교환법칙이 성립하지 않는다! 순수 관계 연산자에는 실렉트, 프로젝트,..
[백준/1436번/java] - 영화감독 숌 처음엔 숫자를 직접 입력해서 규칙을 찾아보았는데.. 666,1666,2666,3666,4666,5666,6660~6669,7666,8666,9666 이렇게 한 사이클이 총 19개로 이루어져 있고, 20번째부터는 10666,11666,12666,13666,14666,15666,16660~16669, 17666,18666,19666 이런식으로 증가하는 것을 찾을 수 있다. 그러면 문제는 60666이 나오는 때 부터가 또 새로운 패턴을 가지게 된다. 그래서 생각했던 건, 들어오는 숫자를 19로 나누었을 때 몫이 맨 앞자리는 19로 나눈 몫, 그 뒷자리는 나머지.. 라고 생각을해서 첫 19개는 몫이 0 이고 나머지가 7 미만이면 나머지 자체를 붙이고, 7번째부터는 6660~6669 로 새롭게 부여하고, 그 이후..
[백준/7568번/java] - 덩치 문제에 대해서 먼저 이해를 해보자. 내가 중점을 두고 본 부분은 "만일 자신보다 더 큰 덩치의 사람이 k 명 이라면 그 사람의 덩치 등수는 k+1 이 된다" 이 부분이었다. 처음에 문제를 읽고는 x 좌표 y 좌표를 모두 비교해서 정렬을 해야하나.. 아니면 모든 좌표를 비교해야하나.. 고민을 했는데 위에 저 부분을 읽고 방향성이 잡혔다! 그래서 나온 코드는 아래와 같다. import java.util.Scanner; public class boj_7568 { /** * 1. x 좌표 비교하기 * 2. 비교하는 x 가 크면, y 비교 * 2-1. y 도 크면 자기보다 큰거임 * 2-2. y는 작다면 덩치가 같은거 -> 다음비교로 넘어가기 */ public static void main(String[] arg..
[백준/1676번/java] - 팩토리얼 0의 개수 처음 문제를 읽고 나서 문제를 이해하는데에 조금 시간이 걸렸다! 저게 뭔소린지.. 근데 10! 을 해보면 362800 이 나오는데 맨 오른쪽에 0이 두개! 그래서 2가 출력된다고 이해해보자. 만약 문제가 무슨 소리인지 모르겠어서 찾아봤다면, 아래를 읽어보기 보다는 다시 문제를 살펴보고 오는것이 좋을 것 같다. 첫번째 접근 방식은 다음과 같았다. /** * 1. N 입력받음 * 2. for 문으로 팩토리얼 계산 / 재귀 함수를 이용해서 만들기 * 3. 10으로 나눈 나머지가 0 이 아닐 때 까지 나누고 갯수 세기 */ 왜 10으로 나누게 되었냐면 362800 은 100의 배수이므로 10으로 두번 나눌 수 있고, 그 이후에는 10으로 나누어 떨어지지 않는다는걸 확인할 수 있다. 그래서 while 문을 이용해..