전체 글(9)
-
[Algorithm] Sorting Problem - Insertion sort, Merge sort
1. Sorting Problem 이란? Input n개의 숫자로 이루어진 sequence sequence를 이루는 각 요소를 KEY, 혹은 ITEM이라고 부름. EX ) OUTPUT 주어진 조건에 따라 Input sequence를 재정렬한 sequence EX ) 2. Insersion Sort Insertion Sort 란? - Insertion 을 이용한 sorting algorithm Insersion 이란? - 새로운 KEY와 이미 정렬된 sorted list가 주어졌을 때, 정렬을 유지한 채 새로운 KEY를 list에 넣는 것. - EX ) Insert "7" into Insertion sort는 Insertion 방법을 증가적으로 이용해서 정렬한다. 예를들어, 라는 정렬되지 않은 list A..
2022.10.26 -
[Algorithm] Dynamic Programming (3) - Longest Common Subsequence
1. 알고가야할 정의 Character :a,b,0,1과 같은 문자 String ( Sequence ) : A list of characters {0,1,1} : Binary string {A,C,G,T} : DNA sequence Substring vs Subsequence vs Common Subsequence The i th prefix X_i of X : 앞에서부터 i번째까지 sequence X의 접두사 EX ) X = A B C B D A B X_4 = A B C B 2. Longest Common Subsequence(LCS)란 X = A B C B D A B & Y = B D C A B A 가 주어졌을 때, B C B A 와 같이, 가장 긴 공통 부분 수열을 의미한다. 부분수열이기 때문에 공..
2022.10.25 -
[Algorithm] Dynamic Programming (2) - Rod Cutting
1. rod - cutting problem 이란 rod-cutting 이란 전체 길이 n인 막대와 길이 별 가격이 주어졌을 때, 해당 막대를 잘라서 얻을 수 있는 최대수익을 r_n을 구하는 문제이다. brute-force approach 를 사용하면 2^(n-1)의 possible way를 전부 계산해야 한다. 길이가 n인 막대는 n-1번의 자를 수 있는 틈이 있고, 각각의 틈에는 자른다vs자르지 않는다의 경우가 있기 때문에 2^(n-1)개의 possible way가 있다. 2. 동적 프로그래밍을 이용해서 rod - cutting problem 해결하기 위 그림을 통해 rod - cutting problem을 해결하기 위한 동적 프로그래밍을 이해할 수 있다. p_1 + r_n-1 식은 길이가 1일 때 ..
2022.10.25 -
[Algorithm] Dynamic Programming (1) - Assembly - line scheduling
본 포스팅을 한양대학교 박희진 교수님의 알고리즘 및 문제해결을 정리한 포스팅이다. 교수님이 만든 ppt... 올려도 되는 거겠지...? 교수님 사랑합니다 사랑합니다 사랑합니다. 3번 외쳤으니 됨. 1. Assembly - line scheduling 이란? Assembly line은 말 그대로 조립라인을 말한다. 하나의 조립과정에 n개의 단계(Si)가 있고 각 단계에서 ai 의 조립시간이 걸린다. 수많은 조립라인 중 가장 빠른 조립시간을 결정하는 것이 assembly - line scheduling의 문제이다. 2. Brute - force approach Brute : 무식한 / 짐승같은 & force : 힘 & approach : 접근 말 그대로 무식하게 가능한 경우의 수 하나하나 열거한 후 가장 좋..
2022.10.24 -
[DB] SQL (2)
1. SQL CREATE TABLE INTEGER or INT CHAR(n) FLOAT DATE YYYY - MM - DD 형식으로 년,월,일으로 구성 TIME HH : MM : SS 형식으로 시,분,초로 구성 TIMESTAMP (DATETIME) DATE + TIME 형 2. SQL DML SELECT 가장 기본이 되는 건 SELECT와 FROM이다. SELECT - 전체 schema 에서 무엇을/전체를 출력할지 정함. DISTINCT - 똑같은 rows를 제거함. ex) 전체 중에 name과 age만 출력한다면 똑같은 row가 있을 수도 있음. 위 Table에서 나이만 다른 Mike Olson이 있는데, SELECT Sailors.name, Sailors.dept 로 설정하면 다음과 같이 중복된 값이..
2022.10.14 -
[DB] SQL (1)
말로만 듣던 SQL을 드디어 배우다니... 두근 나도 이제 데베시 천재..? 1. SQL 이란? 구조전 쿼리 언어 (SQL)는 관계형 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어이다. SQL을 사용하여 Data definition와 Data manipulation을 둘 다 다룰 수 있다. 2. SQL 장점과 단점 장점 Declarative - productive calculus에 기반해서 선언적이다. Implemented widely - 특히 manipulation 쪽으로 활용도가 높다. General purpose and feature rich - 다년간 추가된 기능이 많고, 다른 언어 혹은 데이터 소스에 대해 확장할 수 있다. 단점 Constrained - Turing-complete..
2022.10.13