아카이브: 2017/12

0 Comments

Rest API란

REST(REpresentational State Transfer)란 HTTP 통신에 있어서 자원에 대한 조회, 변경, 삽입, 삭제 요청을 자원(Uri)과 행위(Method)로 표현하여 설계하는 방식을 말한다. REST에는 대표적으로 GET,POST ,PUT, DELETE METHOD가 있으며 자원에 대해 이 METHOD 방법에 따라 서버에서 수행하는

0 Comments

객체 지향 프로그래밍

객체 지향 프로그래밍이란 실세계에서의 개념을 추상화하여 프로그래밍 상의 객체로 옮겨 놓는 방식으로 코드를 작성하는 방법을 말한다. 예를 들면 자동차라는 객체를 프로그래밍 하려면 자동차의 특성과 기능을 추려 이를 프로그래밍 할 수 있다. 자동차는 바퀴,헤드라이트, 핸들, … 등을 가지고 전진, 후진, 방향 전환 등의 기능을 가지고 있다. 이러한 특성과

0 Comments

병합 정렬

병합정렬은 퀵정렬과 대표되는 O(nlogn)의 시간복잡도를 가진 정렬로 최악에 O(n2)의 시간복잡도를 가지는 퀵정렬과 달리 모든 경우의 O(nlogn)의 시간복잡도를 가지는 정렬이다. 또한 퀵정렬이 분할해 나가면서 정렬하는 방식이었다면 병합정렬은 모두 분할한 뒤 그 결과를 합치는 방법으로 약간의 차이가 있다. 병합정렬의 단점은 병합된 결과를 저장하기

0 Comments

버블 정렬

버블 정렬은 가장 큰 원소를 바깥쪽으로 밀어내는 방식으로 정렬하는 방식이다. 처음 원소부터 자신의 다음 원소와 비교하여 더 큰 숫자를 비교하며 더 큰 숫자를 교환하여 뒤로 밀어내는 방식으로 정렬을 한다. 위의 그림을 보면 첫번째 원소 9와 6을 보고 9가 더 크므로 9를 뒤로 밀어내고 그 다음으로 넘어가 9와 2를 비교해 9가 더크니 위치를 다시 바꾼

0 Comments

삽입 정렬

삽입 정렬은 정렬된 상태의 영역을 확대해 나가면서 그 다음의 후보가 삽입될 위치를 찾아 삽입한 뒤 그 다음 원소들을 밀어내는 방식으로 동작한다. 처음의 영역의 크기는 1로 가장 첫번째 원소만 포함한다. 위의 그림을 보면 5라는 원소가 크기 1인 영역에 속해 있고 2라는 다음 원소를 이 영역에 집어 넣는데 이 영역의 원소들과 비교해서 더 큰 숫자를 만나

0 Comments

퀵 정렬

퀵 정렬은 O(nlogn)의 시간복잡도를 가지는 빠른 정렬로써 데이터를 기준이 되는 숫자보다 작은 숫자와 큰 숫자로 왼쪽 오른쪽 분류해나가는 방식으로 동작한다. 여기서 기준이 되는 숫자를 pivot이라고 하고 이 pivot을 잡는 방법에 대해 설명하겠다. pivot의 선택은 어느 숫자로 잡아도 상관이 없다. 가장 처음 or 마지막 or 중간 등 어떠

0 Comments

선택 정렬

선택정렬은 데이터의 원소중에 가장 작은 최솟값의 인덱스를 찾은뒤 이를 교환해 주는 방법으로 동작한다. 위의 첫번째 단계를 보면 1이라는 최소 원소를 찾은 뒤 가장 이를 8의 원소의 위치와 교환해 주어 가장 최소의 값을 앞에 위치 시키는 것으로 볼 수 있다. 그 다음 최소값을 찾으면 3을 찾았고 그 다음 최솟값이 위치해야 할 5의 위치와 원소를 바꾸어

0 Comments

백준 11066 파일합치기

파일 합치기 문제는 인접한 파일을 합치고 합쳐진 파일을 다른 파일과 합쳐나가며 이 파일을 합치는데 필요한 비용을 최소화 하는 문제이다. 이 문제는 동적 계획법으로 풀 수 있다. 이 부분에 대한 개념은 구간에 대한 개념으로 나누어 보면 쉽게 풀 수 있다. 1 ~ n까지의 구간이 있다고 하면 1~n까지의 구간의 합을 최소로 만드는 것은 임의의 j에 대하여

0 Comments

백준 13911 집 구하기

백준 13911 집 구하기 문제는 맥도날드인 vertex에서 거리가 x이하이고 && 스세권의 vertex에서 거리가 y이하인 집을 찾는 문제이다. 단순히 맥도날드인 vertex, 스타벅스인 vertex에서 모두 다익스트라로 거리를 구해 만족하는 집들을 찾아내는 방법을 생각해도 맥도날드 또는 스타벅스의 수가 V-2개 까지 존재 할 수 있으

0 Comments

Database 정규화

Database 정규화1. 데이터베이스 정규화의 목적 삽입, 삭제, 갱신의 이상 현상을 방지한다. -> 이상 현상이란? 데이터의 삽입, 삭제, 갱신을 하면서 불필요한 정보가 삭제되거나 삽입되고 갱신시 일부만 변경되어 데이터의 일관성이 없어지는 현상이다. 삽입 이상: 만약 위와 같은 테이블에 이름과 학번의 정보만 넣고 싶은 경우 주소, 전공, 담당