목록분류 전체보기 (291)
궤도
백엔드를 맡았다... Node.js로 개발할거고 DB는 MySQL을 사용할 것인데, 검색을 하다보니 Node.js와 궁합이 잘 맞는 DB는 MongoDB라는 글을 발견하고 말았다. 하지만 우린 이미 MySQL을 연동해버렸다. 어쩔 수 없지 뭐 설마 큰일이 생길까 아무튼 동아리 프로젝트에서도 기획(+약간의 디버깅)만 맡아오고 평소에도 알고리즘이나 풀어오던 나는 관련 지식이 전무하다. 그래서 일단 강좌를 들었다. opentutorials.org/course/3332 WEB2 - Node.js - 생활코딩 수업소개 이 수업은 JavaScript를 이용해서 Node.js를 제어해 동적으로 HTML 코드를 생성하는 웹애플리케이션을 만드는 방법에 대한 수업입니다. 수업대상 예를들어 1억개의 페이지로 이루어진 웹사 ..
6.1 매개변수 갱신 https://github.com/HyunJiLim0406/Practice/blob/master/deep-learning/6_1_%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98_%EA%B0%B1%EC%8B%A0.ipynb HyunJiLim0406/Practice Contribute to HyunJiLim0406/Practice development by creating an account on GitHub. github.com 확률적 경사 하강법(SGD) : 미리 정해둔 학습률만큼 이동함. 일정한 방향만 이동하겠다 -> 비등방성 함수에서는 탐색 경로가 비효율적 모멘텀 : v 변수를 추가. 기울기 방향으로 학습률이 가속되도록 조정. 바닥을 구르는 경로 형성 AdaGr..
문제 풀이 백트래킹의 기본 문제이다. 백트래킹은 해당 value의 방문 여부를 따지며 주로 재귀함수로 구현하는 경우가 많다. 그렇기 때문에 전역 변수 쓸 일이 좀 많다. 백트래킹 문제를 그림으로 표현할 때 트리를 많이 사용하는데 이 문제도 간단히 트리로 나타내면 이런 모습이다. visited를 true로 하느냐 false로 하느냐에 따라 트리의 아래로 가거나 위로 올라갈 수 있다. 이 문제도 노드들을 방문하며 visited를 갱신하고, 배열에 값을 넣는다. 배열의 크기가 M이 되면 트리 탐색을 끝내고 배열에 있는 수를 출력한다. 재귀함수는 아무래도 머리로 따라가기가 좀 까다로우니 그림을 그려가며 공부하면 좋을 것이다. 소스코드 #include using namespace std; const int MAX..
문제 풀이 내가 극찬하는 sort 함수는 사실 stable을 보장하지 않는다. 근데 이 문제는 stable sort를 요구한다. 그렇다면 새로 정렬함수를 짜야할까? 그렇지 않다. stable_sort 함수가 있다. 정말 친절하지 않을수가 없다. 이렇게 stable이 보장됐으니, 나이만 고려하면 된다. 소스코드 #include #include using namespace std; struct info { int age; char name[101]; }; bool cmp(const info& p1, const info& p2) { if (p1.age < p2.age) //가입 순이고 stable이면 그냥 나이만 고려하면 됨 return true; else return false; } int main() { ..
문제 풀이 정렬은 어렵지 않다. sort 함수가 있기 때문이다. 먼저 길이 조건으로 한번 걸러주고, 길이가 같은 경우에만 사전 순으로 정렬한다. 사전 순 정렬도 어렵지 않다. string str1, str2가 있을 때 str1이 str2보다 사전 순으로 앞선다면 str1> N; for (i = 0; i > arr[i]; sort(arr, arr + N, cmp); for (i = 0; i < N; i++) { if (arr[i].compare(arr[i + 1]) != 0) //중복 제거 cout
문제 풀이 sort 함수에는 사실 3번째 인자가 있다. 이 3번째 인자를 통해 정렬의 조건을 입맛대로 바꿀 수 있다. 이 인자는 bool을 리턴하는 함수인데, 요구하는 인자의 형식이 중요하다. 그건 아래 코드를 보면 알 수 있다. 사용법도 코드의 주석에 써놓아서 여기에 또 쓸말이 없다. 아무튼 sort 함수는 참 좋다. 소스코드 #include #include using namespace std; struct point { int x, y; }; bool cmp(const point& p1, const point& p2) { //p1이 p2보다 앞에 있어야하는 조건 if (p1.x < p2.x) return true; else if (p1.x == p2.x) return p1.y < p2.y; else ..