본문 바로가기

전체 글

(134)
200824 Promise Object https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises 동시다발적으로 일어나는 작업 중에서 성공 또는 실패를 나타낸다. 대부분의 경우 우리는 promise객체를 사용하는 사용자 입장이 된다. call back? 동시다발적인 함수에 대해 콜을 할 때 이에 응해 돌아도는 값? 예전 방식의 함수에서는 해당함수의 인자에 성공 또는 실패에 대한 callback function이 삽입이 되었지만, 최근 방식의 함수에서는 promise를 반환받기 때문에 .then() method를 통해 반환 받을 수 있다. callback들은 반드시 JS코드가 다 수행된 뒤 리턴된다. callback들은 then()메서드를 ..
macOS 터미널로 Git & GitHub 사용하기 처음 프로그래밍 공부를 시작했을 때 프로그래머라면 GitHub는 필수적으로 사용한다는 말을 들었지만, 이용방법이 너무나 낯설어 다른 사이트에 연동 로그인을 할 떄는 빼고는 사실상 사용하지 않았다. 최근들어 공부를 하고 흔적을 남기는 것이 중요하다는 생각이 들어 GitHub사용법에 대해 다시 정리해보려고 한다. 더보기 만약 당신이 한번도 git과 github를 사용해본이 없고 당장 자신의 코드를 github에 올려보고 싶다면 다음 순서대로 터미널에 입력해보자. 준비물: GitHub account/repository, git설치 터미널상에서 디렉토리 위치를 자신이 업로드 하고 싶은 폴더 또는 파일이 있는 곳으로 이동한다. 1. git init 2. git add FileName 3. git commit -m..
에라토스테네스의 체 소수가 특정한 규칙이 없다보니 구하기 힘들지만 에라토스테네스의 체를 이용하면 쉽고 간결하고 구할 수 있다. 기본 규칙은 다음과 같다. 1. 2 이상의 자연수를 오름차순으로 정렬한 배열과 소수를 담을 배열을 준비한다.(0, 1은 자연수가 아니므로) 2. 자연수 배열 맨 앞의 값을 소수 배열에 담는다. 3. 해당하는 값을 약수로 하는 모든 값을들 자연수 배열에서 제거한다. 2~3의 과정을 반복한다.
유클리드 호제법 Euclidian Algorithm https://www.youtube.com/results?search_query=euclidean+algorithm euclidean algorithm - YouTube www.youtube.com https://www.acmicpc.net/problem/2609 최대공약수 Greatest Common Divsor, 최소공배수 Least Common Muliple을 구하는 알고리즘이다. 일명 유클리드 호제법. 최대공약수를 가지고 최소 공배수를 구하는 법은 쉽다. 두 수 A, B가 주어졌을 때 중복되는 부분인 최대공약수를 한번 나누어주면 된다. 문제는 최대공약수를 구하는 것인데, 이 때 유클리드 호제법을 이용한다. 방법은 위 영상과 같이 그저 따라만 가면 되는거라 크게 어려운 부분이 없지만 그 안에 담겨져..
200816 DOM project 1; material: Udemy 1. DOM(Document Object Model) ;interface between js and html css browser turns every HTML tag into a JS object that we manipulate. It is controled under tree data structure. top node of DOM is documnt. in the console of browser, you can search like document.URL or document.link, It will return current page's URL and appended link (or document.body) 2. Selector Methods ..
백준 1874번: 스택 수열 C++ code https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 처음에 input, output 값을 보고 문제에서 제시한 스택을 이용해서 풀기보다는 오류 상황을 처리하기 위해 복잡한 규칙을 적용한 알고리즘을 만들었다. 그 결과 가독성도 떨어지고 이해하기 알고리즘이 탄생했고 평가를 통과할 수 없었다. 다음으로 작성한 알고리즘은 스택을 이용한 알고리즘인데, 문제 입력 배열을 arr..
자료구조 Hash 정의 해시 테이블은 연관배열 구조를 이용하여 key에 value를 저장하는 자료구조 이 다. 특징 data의 검색과 저장이 빠르다. O(1) 암호화에 사용된다. 입력받은 데이터를 다른 형태로 변환한다. 길이가 서로 다른 입력 데이터에 대해 일정한 길이의 출력을 만들 수 있다. ->해시 테이블은 기본적으로 많은 공간(메모리)를 이용해 시간을 단축시킨 원리이다. 해시함수 데이터의 value 값을 배열의 인덱스 정수로 변환하는 과정이 필요하고 이때 해시함수를 이용한다. 해시함수는 임의의 크기를 길이를 가진 데이터를 고정된 길이의 데이터로 매핑하는 함수이다. key -> mapping(hashing) -> hash value 1) 나눗셈법 해시함수 중에서 가장 간단한 알고리즘에 속한다. 입력 값을 테이블의 크기..
Sorting Method 기본정렬(오름차순)의 몇가지 방법에 대해서 알아보자 코드는 C로 작성하였고 main함수는 다음과 같다. 0. main function 요소의 갯수를 입력받아 calloc함수를 통해 동적으로 배열을 할당하였다. calloc앞에 (int*)형 변환을 하면 더 명시적이지만 없어도 상관은 없다. #define SWAP(a, b, type) do { \ type temp; \ temp = a; \ a = b; \ b = temp; \ } while (0) swap함수를 매크로 설정 해놓는다. do while구문을 통해 매크로 안에서 변수를 선언할 수 있도록 했다. 1. Bubble sorting 개선된 형태의 bubble sorting 인덱스 K앞의 배열은 정렬이 완료 되었다. 가장 기본적인 형태의 bubble ..