본문 바로가기

전체 글45

html2canvas 사용법 : 캡처를 이미지로 다운로드 javascript 브라우저 화면 캡처(capture) 라이브러리 html2canvas 사용법을 알아보자. 참고링크 : https://html2canvas.hertzen.com/ html2canvas - Screenshots with JavaScript Try out html2canvas Test out html2canvas by rendering the viewport from the current page. Capture html2canvas.hertzen.com 코드 예시 A B C D E F G Download 브라우저 실행 시 div 영역에 있는 화면을 캡처하여 이미지로 변환시키고 싶을 경우 다운로드 버튼(#pick)을 누르면 A B C D E F가 쓰여있는 화면이 캡처(#main_capture.. 2021. 9. 9.
알고리즘 : 이진 탐색(Binary Search) 이진 탐색(Binary Search)란? 탐색할 자료를 둘로 나누어 해당 데이터가 있을만한 곳을 탐색하는 방법 분할 정복 알고리즘과 이진 탐색 분할 정복 알고리즘(Divide and Conquer) - Divide : 문제를 하나 또는 둘 이상으로 나눔 - Conquer : 나눠진 문제가 충분히 작고, 해결이 가능하다면 해결하고 그렇지 않으면 다시 나눔 이진 탐색 - Divide : 리스트를 두 개의 서브 리스트로 나눔 - Conquer - 검색할 숫자(search) > 중간값이면 뒷부분의 서브 리스트에서 검색할 숫자를 찾음 - 검색할 숫자(search) < 중간값이면 앞 부분의 서브 리스트에서 검색할 숫자를 찾음 코드로 만드는 방법은? - 이진탐색은 데이터가 정렬되어있는 상태에서 진행 - 데이터가 [2.. 2021. 9. 6.
알고리즘 : 병합 정렬(merge sort) 병합 정렬(merge sort)는? 재귀용법을 활용한 정렬 알고리즘 1. 리스트를 반으로 잘라 비슷한 크기의 두 부분 리스트로 나눈다. 2. 각 부분 리스트를 재귀적으로 합병 정렬을 이용해 정렬한다. 3. 두 부분 리스트를 다시 하나의 정렬된 리스트로 합병한다. 알고리즘 이해 - 데이터가 4개 일 때 data_list = [1, 8, 4, 3] 먼저 [1, 8], [4, 3]으로 나누고 다시 앞 부분은 [1], [8]로 나누고 다시 정렬해서 합침 [1, 8] 다음 [4, 3] 는 [4], [3]으로 나누고 다시 정렬해서 합침 [3, 4] [1, 8]과 [3, 4]를 합침 - 1 3 이니 [1, 3] - 8 > 4 이니 [1, 3, 4] - 8만 남았으니 [1, 3, 4, 8.. 2021. 9. 1.
알고리즘 : 퀵 정렬(Quick sort) 퀵 정렬(quick sort)은? 정렬 알고리즘 pivot(피봇(기준점))을 정해서 기준점보다 작은 데이터는 left(왼쪽), 기준점보다 큰 데이터는 right(오른쪽)으로 모으는 함수를 작성함 각 left(왼쪽), right(오른쪽)은 재귀용법을 사용해서 다시 동일 함수를 호출하여 작업을 반복함 함수는 left(왼쪽) + pivot(기준점) + right(오른쪽)을 리턴함 알고리즘 구현하기 quicksort 함수 만들기 리스트 갯수가 한 개이면 해당 리스트 리턴, 아니라면 리스트 맨 앞의 데이터를 pivot(기준점)으로 놓기 left, right리스트 변수를 만들고 맨 앞의 데이터를 뺀 나머지 데이터를 pivot과 비교 기준점보다 작으면 left.append(해당 데이터) 기준점보다 크면 right.a.. 2021. 8. 30.