programing
-
[Algorithm] 정렬 알고리즘에 대하여 1programing/Algorithm 2019. 6. 26. 21:53
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) 이번 포스트에서는 기본적인 정렬 알고리즘에 대해 포스팅하겠습니다. 대표적인 정렬 알고리즘 버블 정렬(bubble sort) 코드 void bubbleSort() { } 맨 앞쪽 두 요소씩 값을 비교하며 정렬해 나간다. 마지막 요소는 최대값이 된다. 모든 요소가 정렬될 때까지 반복한다. 시간 복잡도 두 요소를 비교하는 횟수 : n-1, n-2, ..., 2, 1 두 수를 교환하는 횟수 : 1 * n (교환 여부를 예측할 수 없음) T(n) = (n-1) + (n-2) + ... + 2 + 1 + 1 = n(n-1)/2 = o(n^2) 최악 : o(n^2) 최선 : o(n^2) 평균 : o(n^2) 삽입 정렬(insertion so..
-
[Functional] 평가와 일급, 고차함수programing/Language 2019. 6. 25. 20:34
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) 함수형 프로그래밍이란? '존재'의 추상화를 함수 형태로 정의한다. 기존 함수를 이용해서 '참거짓'의 추상화를 정의한다. 위 함수를 다른 함수의 파라미터로 제공해서 어떤 동작을 하도록 한다. 함수형 프로그래밍은 일급 함수와 편의성이 중요하다. 함수형 프로그래밍의 자격 관계형 정의 타입 패턴 매치 불변성 순수성 평가(evaluation) 코드가 계산되어 값을 만드는 것. 일급 값으로 다룰 수 있다. 변수에 할당할 수 있다. 함수의 인자로 사용될 수 있다. 함수의 결과로 사용될 수 있다. 일급 함수 함수를 값으로 다룰 수 있다. 함수를 변수에 할당할 수 있다. 함수의 인자로 함수를 사용할 수 있다. 함수의 결과로 함수를 사용할 수 있..
-
[Algorithm] 재귀함수에 대해programing/Algorithm 2019. 6. 21. 19:21
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) 이번 포스트에서는 재귀함수에 대해 전체적인 정의와 개념들에 대해서 정리해볼까 합니다. 따라서 비정기적으로 업데이트됩니다. ㅎㅎ 재귀함수의 정의 함수 내에서 자기 자신을 호출하는 함수. 재귀함수의 조건 반드시 재귀호출을 하지 않는 base case가 존재해야 한다. 모든 case는 base case로 수렴해야 한다. 설계 원칙 암시적 변수를 명시적 매개변수로 바꾼다 int sequentialSearch(int[] arr, int index, int target) { for(int i=0; i < index; i++) { if(arr[i] == target) return i; } return -1; } 만약 위와 같이 순차탐색을 하..
-
[JS] 블로그 드래그 방지 해제programing/Language 2019. 6. 12. 16:09
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) 오늘은 자바스크립트 비활성화를 하지 않고 블로그의 드래그 방지를 해제하는 방법에 대해 알아보겠습니다. 해당 포스트는 크롬기준으로 설명하도록 하겠습니다. 크롬 개발자 도구 열기 우선, F12를 눌러 개발자 도구를 열어줍니다. 드래그 방지 해제 영역 선택하기 개발자 도구의왼쪽 위의 버튼을 누른 후, 드래그 방지를 해제하고 싶은 영역에 커서를 옮겨놓습니다. 그러면 위와 같이 파란색으로 영역이 보여집니다. 영역을 잘 선택한 후, 마우스 왼쪽 버튼을 클릭합니다. 이벤트 리스너 제거 개발자 도구의 오른쪽에는 Style, Computed, Event Listeners라는 탭들이 있습니다. 여기서 Event Listeners탭을 누른 후, s..
-
[HTTP] methodsprograming/Web 2019. 6. 9. 20:37
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) 오늘은 HTTP의 method의 종류에 대해 알아보도록 하겠습니다. GET Use GET requests to retrieve resource representation/information only – and not to modify it in any way. As GET requests do not change the state of the resource, these are said to be safe methods. Additionally, GET APIs should be idempotent, which means that making multiple identical requests must produce the sa..
-
[Algorithm] 재귀를 이용하여 최대공약수 구하기programing/Algorithm 2019. 6. 8. 15:32
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) 오늘은 재귀(recursion)을 이용하여 최대공약수(greatest common divisor)를 구하는 방법을 알아보도록 하겠습니다. 최대공약수와 유클리드 호제 2개 이상의 수의 공약수 중에서 최대인 수이다. 이를 테면, 18의 약수는 1, 2, 3, 6, 9, 18 이고,12의 약수는 1, 2, 3, 4, 6, 12 로서 6이 최대공약수이며, 이것을 (12,18)=6으로 쓴다. 다른 공약수는 모두 6의 약수이다. 최대공약수를 구하는 방법은, 우선 소인수(素因數)로 분해하여 공통의 수를 택하여 곱해주면 된다. 예를 들면 (12,18)을 구할 경우 12=22×3, 18=2×32이므로 (12,18)=2×3=6이 된다. 또, 주어..
-
[Machine Learning] K-means algorithmprograming/etc 2019. 6. 1. 16:42
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) 오늘은 기계학습에서 사용되는 군집화(clustering)의 한 방법은 k-평균(k-means) 알고리즘에 대해 소개해볼까 합니다. 참고 https://www.altoros.com/blog/using-k-means-clustering-in-tensorflow/ Using k-means Clustering with TensorFlow In data science, cluster analysis (or clustering) is an unsupervised-learning method that can help to understand the nature of data by grouping information with similar ..