데이터베이스 정리
가장 배경지식이 부족한 데이터베이스.. 그래도 비중이 적고 문제가 쉽다고 하니 다행이다. 새로 알게 된 것이나 모르는 내용 위주로 정리를 한다. 인용부호 ' ' 에서만 대소문자를 구분한다. 문자열의 패턴을 검색할때는 like를 쓴다. string like pattern 과 같다. 패턴에서 % 는 임의의 문자열을 뜻하고(문자열이 없을 수 있음), _ 는 임의의 한 문자를 뜻한다. ...
가장 배경지식이 부족한 데이터베이스.. 그래도 비중이 적고 문제가 쉽다고 하니 다행이다. 새로 알게 된 것이나 모르는 내용 위주로 정리를 한다. 인용부호 ' ' 에서만 대소문자를 구분한다. 문자열의 패턴을 검색할때는 like를 쓴다. string like pattern 과 같다. 패턴에서 % 는 임의의 문자열을 뜻하고(문자열이 없을 수 있음), _ 는 임의의 한 문자를 뜻한다. ...
http://blog.naver.com/PostView.nhn?blogId=hmkuak&logNo=220583392375 마리아 DB 사용법을 모아놓은 블로그를 블로그한 블로그의 사이트..
만약에(If) -러디어드 키플링 만약 모두가 이성을 읽고 너를 탓할 때 냉정을 유지할 수 있다면 만약 모두가 너를 의심할 때 네 자신을 믿고 그들의 의심마저 이해해줄 수 있다면 ...
(n)을 했을때 fib(0),와 fib(1)이 몇번 콜되는지 구하는 문제입니다. 전략 : 전역 변수 2개를 할당해, fib(0)을 부를때 증가시키고, fib(1)을 부를때 증가시키는 것으로 해서 풀었습니다. ...
스택의 기본적인 연산 5가지인 push,pop,top,empty,size를 구현하는 문제이다. 별다른 풀이 전략이 필요하지 않다, 그냥 구현만 해내면 그만인 문제이다 스택을 클래스나 구조체로 만들려고 했으나, 굳이 그렇게 할 필요까진 없어 보여 배열과 위치를 갖은 변수하나로 구성하였다. 앞으로 자주 사용된다면 클래스화하여 작성할 예정이다. 참고로, 온라인저지는 컴파일 옵션에 -DONLINE_JUDGE 가 들어가기 때문에 이것을 활용해 예시문을 테스트하는 것을 간편히 만들 수 있다. freopen()을 이용해 인풋과 아웃풋의 스트림을 컴파일 옵션에 따라 바꾼다. ...
큐를 구현하는 문제이다. push,pop,empty,size,front,back 함수를 구현해야 한다. 배열을 이용해 구현하였다. 고려해야 할 것은 앞과 끝을 가르키는 위치를 갖고 있어야 된다는 정도이다. 정해진 배열의 크기에서 큐가 원형으로 자라나고 줄어들게 만들었다. ...
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; }
트리의 지름은 두 vertex간의 길이가 가장 긴 값입니다. 이 문제에서는 간선에 가중치가 있기 때문에 멀어도 길이가 짧은 수 있고 그 반대가 될 수도 있습니다. 트리의 지름을 구하는 방법은 ...
연결된 두 vertex의 정보가 주어질 때 각 노드의 부모를 찾아서 2번부터 출력해주는 문제입니다. 처음에 접근할때는 행렬로 풀려고 했는데, 다익스트라 알고리즘 공부하면서 인정리스트의 장점을 실감하게 되어서 vector를 사용해 인정리스트를 만들었고, 큐를 사용해 BFS로 풀었습니다. 재귀함수를 이용해 DFS로 풀 수도있겠지만 뭔가 함수를 계속 호출하는건 성능에 안좋을꺼같아 BFS로 풀었습니다. ...
다익스트라 알고리즘을 공부하기 위해서 풀어본 문제입니다.. 어렵네요 어려웠어요 휴.. 구현할때 주의하실 점은 인접리스트랑 우선순위큐 꼭 쓰세요! 노드의 갯수가 커지면 인접행렬의 경우 메모리엄청 잡아 먹고 순회하는데 시간이 많이 걸립니다! ...