데이터베이스 정리

가장 배경지식이 부족한 데이터베이스.. 그래도 비중이 적고 문제가 쉽다고 하니 다행이다. 새로 알게 된 것이나 모르는 내용 위주로 정리를 한다. 인용부호 ' ' 에서만 대소문자를 구분한다. 문자열의 패턴을 검색할때는 like를 쓴다. string like pattern 과 같다. 패턴에서 % 는 임의의 문자열을 뜻하고(문자열이 없을 수 있음), _ 는 임의의 한 문자를 뜻한다. ...

12월 23, 2017 · Jaejin Jang

마리아 DB 사용법 모아놓은 블로그

http://blog.naver.com/PostView.nhn?blogId=hmkuak&logNo=220583392375 마리아 DB 사용법을 모아놓은 블로그를 블로그한 블로그의 사이트..

12월 23, 2017 · Jaejin Jang

만약에(If) - 러디어드 키플링(Rudyard Kipling)

만약에(If) -러디어드 키플링 만약 모두가 이성을 읽고 너를 탓할 때 냉정을 유지할 수 있다면 만약 모두가 너를 의심할 때 네 자신을 믿고 그들의 의심마저 이해해줄 수 있다면 ...

12월 23, 2017 · Jaejin Jang

백준알고리즘 1003번, 피보나치 함수

(n)을 했을때 fib(0),와 fib(1)이 몇번 콜되는지 구하는 문제입니다. 전략 : 전역 변수 2개를 할당해, fib(0)을 부를때 증가시키고, fib(1)을 부를때 증가시키는 것으로 해서 풀었습니다. ...

12월 23, 2017 · Jaejin Jang

백준알고리즘 10828번, 스택

스택의 기본적인 연산 5가지인 push,pop,top,empty,size를 구현하는 문제이다. 별다른 풀이 전략이 필요하지 않다, 그냥 구현만 해내면 그만인 문제이다 스택을 클래스나 구조체로 만들려고 했으나, 굳이 그렇게 할 필요까진 없어 보여 배열과 위치를 갖은 변수하나로 구성하였다. 앞으로 자주 사용된다면 클래스화하여 작성할 예정이다. 참고로, 온라인저지는 컴파일 옵션에 -DONLINE_JUDGE 가 들어가기 때문에 이것을 활용해 예시문을 테스트하는 것을 간편히 만들 수 있다. freopen()을 이용해 인풋과 아웃풋의 스트림을 컴파일 옵션에 따라 바꾼다. ...

12월 23, 2017 · Jaejin Jang

백준알고리즘 10845번, 큐

큐를 구현하는 문제이다. push,pop,empty,size,front,back 함수를 구현해야 한다. 배열을 이용해 구현하였다. 고려해야 할 것은 앞과 끝을 가르키는 위치를 갖고 있어야 된다는 정도이다. 정해진 배열의 크기에서 큐가 원형으로 자라나고 줄어들게 만들었다. ...

12월 23, 2017 · Jaejin Jang

백준알고리즘 1149번, RGB거리

RGB 색상별로 가중치가 주어질 때, 가장 값이 낮게 집을 칠하는 문제입니다. 전략 : 특별한 전략은 필요 없네요. 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 36 37 38 39 40 41 42 43 44 #include <stdio.h> #include <string.h> using namespace std; int dp[1000][3]; int main(void) { memset(dp, -1, 0); int n; int t; int min = 100000; #ifndef ONLINE_JUDGE freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif scanf("%d", &t); for (int i = 0; i < t; i++) { scanf("%d %d %d", &dp[i][0], &dp[i][1], &dp[i][2]); } for (int i = 0; i < t; i++) { dp[i + 1][0] = dp[i+1][0] + (dp[i][1] < dp[i][2] ? dp[i][1] : dp[i][2]); dp[i + 1][1] = dp[i+1][1] + (dp[i][0] < dp[i][2] ? dp[i][0] : dp[i][2]); dp[i + 1][2] = dp[i+1][2] + (dp[i][0] < dp[i][1] ? dp[i][0] : dp[i][1]); } for (int i = 0; i < 3; i++) { if (dp[t - 1][i] < min) min = dp[t - 1][i]; } printf("%d\n", min); #ifndef ONLINE_JUDGE fclose(stdin); fclose(stdout); #endif return 0; }

12월 23, 2017 · Jaejin Jang

백준알고리즘 1167번, 트리의 지름

트리의 지름은 두 vertex간의 길이가 가장 긴 값입니다. 이 문제에서는 간선에 가중치가 있기 때문에 멀어도 길이가 짧은 수 있고 그 반대가 될 수도 있습니다. 트리의 지름을 구하는 방법은 ...

12월 23, 2017 · Jaejin Jang

백준알고리즘 11725번, 트리의 부모 찾기

연결된 두 vertex의 정보가 주어질 때 각 노드의 부모를 찾아서 2번부터 출력해주는 문제입니다. 처음에 접근할때는 행렬로 풀려고 했는데, 다익스트라 알고리즘 공부하면서 인정리스트의 장점을 실감하게 되어서 vector를 사용해 인정리스트를 만들었고, 큐를 사용해 BFS로 풀었습니다. 재귀함수를 이용해 DFS로 풀 수도있겠지만 뭔가 함수를 계속 호출하는건 성능에 안좋을꺼같아 BFS로 풀었습니다. ...

12월 23, 2017 · Jaejin Jang

백준알고리즘 1753번, 최단경로

다익스트라 알고리즘을 공부하기 위해서 풀어본 문제입니다.. 어렵네요 어려웠어요 휴.. 구현할때 주의하실 점은 인접리스트랑 우선순위큐 꼭 쓰세요! 노드의 갯수가 커지면 인접행렬의 경우 메모리엄청 잡아 먹고 순회하는데 시간이 많이 걸립니다! ...

12월 23, 2017 · Jaejin Jang