분류 전체보기
-
DB - 스키마CS/DB 2021. 2. 12. 19:30
스키마 스키마 데이터베이스의 자료의 구조, 자료의 표현 방법, 자료 간의 관계를 형식 언어로 정의한 구조이다. DBMS(데이터 베이스 관리 시스템)가 주어진 설정에 따라 스키마를 생성하며, 사용자가 자료를 저장, 조회, 삭제, 변경할 때는 DBMS는 자신이 생성한 데이터베이스 스키마를 참조하여 명령을 수행한다. 스키마는 3층 구조(외부 스키마, 개념 스키마, 내부 스키마)로 되어있다. 외부 스키마 외부 스키마 = 서브 스키마 = 사용자 뷰 프로그래머나 사용자의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한다. 하나의 데이터에 여러개의 외부 스키마가 존재할 수 있다. 개념 스키마 개념 스키마 = 전체적인 뷰 데이터베이스의 전체적인 논리적 구조로서, 모든 응용 프로그램이나 사용자들이 필요로 하는 ..
-
[백준]2225: 합분해 - JAVA문제풀이/백준 2021. 2. 12. 17:01
[백준]2225: 합분해 www.acmicpc.net/problem/2225 2225번: 합분해 첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 풀이 (dp는 너무 어려워..휴우) dp함수를 이차원 배열을 사용하여 표현하였다. 각각의 인덱스는 dp[n][k]일때 0부터 n까지의 정수로 k를 표현할 수 있는 경우의 수를 저장하도록 하였다. 우선 예제입력인 20,2의 경우의 수를 모두 찾아 보았다. 0, 20 20, 0 1, 19 19, 1 2, 18 18, 2 3, 17 17, 3 4, 16 16, 4 5, 15 15, 5 6, 14 14, 6 7, 13 13, 7 8, 12 12, 8 9, 11 11, 9 10, 10 더하는 순서가 다르면 다른 경우로 계..
-
[프로그래머스]이중우선순위큐 - JAVA문제풀이/프로그래머스 2021. 2. 12. 13:39
[프로그래머스]이중우선순위큐 programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr 풀이 문제 제목에 힌트가 있듯이 우선순위 큐 2개를 사용하여 구현하였다. 하나는 최소힙 구조의 우선순의 큐를 사용하여 저장해주었고, 하나는 Collections.reverseOrder() 메소드를 사용하여 최대힙으로 구현해 주었다. 그리고 연산 기호에 따라 동작을 처리해 주었다. 코드 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 32 33 34 35 import java.util.*; class Solution { pub..
-
DB - ORMCS/DB 2021. 2. 11. 23:23
DB - ORM ORM Object-relational mapping. 객체-관계 매핑. 데이터베이스와 객체 지향 프로그래밍 언어 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법으로 객체간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다. Object DB데이터 장점 객체 지향적 코드: SQL문이 아닌 클래스의 메소드를 통해 데이터베이스를 조작할 수 있어 개발자가 객체 모델만 이용해서 프로그래밍을 하는데 집중할 수 있게 한다. 재사용, 유지보수 용이성: 기존 객체와 독립적으로 작성되어있고, 객체로 작성되어 있어 재활용할 수 있다. DBMS에 대한 종속성 하락: 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하고, 객체의 자료형 타입까지 사용할 수 있기 때문에 RDBMS의 데이터 구조..
-
DB - 정규화CS/DB 2021. 2. 11. 23:04
DB - 정규화 정규화 관계형 데이터베이스에서 중복을 최소화하기 위해 데이터를 구조화 하는 작업. 이상 현상 발생 가능성을 줄이는 것이 목표이다. 정규형의 조건 무손실 조인을 보장해야 한다. (하나의 릴레이션을 분해하고 다시 조인했을 때 데이터 손실이 없어야 한다.) 함수적 종속성을 보존해야 한다. 이상현상 삽입 이상 테이블에 데이터를 삽입할 때 의도와는 상관없는 불필요한 값들을 함께 저장하지 않고서는 어떤 정보를 저장하는 것이 불가능한 경우. ex) 학번, 과목 동아리로 구성된 학생 테이블에서 새로운 동아리가 신설되고 아직 동아리원이 한 명도 없는 경우에 새로운 동아리를 등록하기 위해서는 학번, 이름값이 필요하다. 삭제 이상 테이블에서 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 경우...
-
DB - JoinCS/DB 2021. 2. 11. 21:57
DB - Join Join 2개의 테이블에 대해 연관된 튜플들을 결합해 새로운 릴레이션을 반환한다. Join은 크게 inner & outer Join 으로 구분된다. Join 속성: 연결 고리가 되는 공통 속성을 의미한다. Inner Join Join조건에 만족하는 결과만 조회한다. Equi Join Join 속성을 기준으로 '=' 비교에 의해 같은 값을 가지는 행을 연결하여 결과를 생성한다. ex) SELECT t1.name FROM t1, t2 WHERE t1.id=t2.id Non-Equi Join Join 조건에 '=' 조건이 아닌 나머지 비교 연산자(BETWEEN, 등)를 사용하는 Join방법. ex) SELECT t1.name FROM t1, t2 WHERE t1.age > t2.age Out..
-
[백준]1759: 암호 만들기 - JAVA문제풀이/백준 2021. 2. 11. 20:55
[백준]1759: 암호 만들기 www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 풀이 순열을 사용한 백트랙킹문제! 결과가 사전 순서대로 저장되어야 하므로 sort를 해주었다. 그리고 값을 뽑을때 알파벳이 증가하는 순서대로만 뽑아야 하므로 compareTo 메소드를 사용하여 이전의 뽑은 값과 비교해 주었다. 또한 모음인지 체크하는 함수를 만들어 주었고 조건에 모든 문자를 다 뽑은 후에는 모음의 수, 자음의 수가 조건에 맞는지 확인한 후 맞다면 출력하도록 해주었다. 별..
-
[백준]10844: 쉬운 계단 수 - JAVA문제풀이/백준 2021. 2. 11. 18:51
[백준]10844: 쉬운 계단 수 www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 풀이 DP문제는 진짜진짜 많이 풀어봐야 할 것 같다. 아직 완전히 이해하고 풀 수준이 안되는 것 같다. 이 문제는 dp함수를 2차원 배열로 만들었다. dp배열 의미하는 뜻은 dp[길이][마지막 자리수가 계단이 되는 경우의 수] 이다. n이 1 일때는 다음과 같다. n이 1일때 0은 결과에 포함되지 않으므로 계산하지 않는다. dp[1][1] 1 길이가 1일이고 끝자리의 수가 1일때 앞에 올 수 있는 수는 없으므로 1이다. dp[1][2] 1 길이가 1일이고 끝자리의 수가 2일때 앞에 올 수 있..