본문 바로가기

전체 글17

삽입 정렬 알고리즘(insertion sort Algorithm) - javascript 안녕하세요 기공 준입니다. 이번에는 삽입 정렬에 대해 알아볼 건데요 간단한 설명과 예제 및 코드로 글을 마무리하겠습니다. 삽입 정렬은 자료 배열의 모든 요소를 이미 정렬된 배열 부분과 앞에서부터 차례대로 비교하여, 자신의 위치를 찾아 삽입하는 정렬입니다. 배열이 길어질수록 효율이 떨어지지만 구현이 아주 간단하다는 장점이 있습니다. 시간 복잡도는 O(n²)입니다. 예제 [3,2,5,10,33,51,20,16] 시작 [2,3,5,10,33,51,20,16] 2 삽입 [2,3,5,10,33,51,20,16] 패스 [2,3,5,10,33,51,20,16] 패스 [2,3,5,10,33,51,20,16] 패스 [2,3,5,10,33,51,20,16] 패스 [2,3,5,10,20,33,51,16] 20 삽입 [2,3.. 2021. 3. 26.
선택 정렬 알고리즘(selection sort Algorithm) - javascript 안녕하세요 기공준입니다. 이번 글은 선택 정렬 알고리즘에 대한 글입니다. 선택 정렬 알고리즘은 정렬 알고리즘 중에 하나이고 알고리즘이 대단히 단순하기 때문에 메모리가 제한적인 경우에 사용하면 성능상의 이점이 있다고 합니다. 시간 복잡도는 O(n²)입니다. 선택 정렬을 하는 방법은 아주 간단합니다. 1. 주어진 리스트 중에 최소값을 찾는다. 2. 그 값을 맨 앞에 위치한 값과 교체한다. 3. 맨처음 위치를 뺀 나머지 리스트를 같은 방법으로 진행한다. 예제 [5,2,22,4] [2,5,22,4] [2,4,22,5] [2,4,5,22] 예제 코드 - javscript const selectionSort = (array) => { let minIdx; let tempValue; for(let i=0;i 2021. 3. 23.
javascript - Array(배열) javascript Array는 전역 객체이고 배열을 생성할 때 사용하는 리스트 형태의 고 수준 객체입니다. 배열은 프로토타입으로 탐색과 변형 작업을 수행하는 메서드를 갖는, 리스트와 유사한 객체입니다. 배열은 언제든지 늘어나거나 줄어들 수 있기 때문에 데이터들이 꼭 연속적으로 저장된다고 생각하면 안 된다. 예제를 통해 자주 사용하는 연산을 알아봅시다. let foods = [‘spaghetti’, ‘cutlet’];//배열 생성 foods.length;//배열 길이 let first = foods[0] //인덱스로 배열의 항목 접근 // spaghetti foods.forEach((item, index, array) => console.log(item, index)); //배열의 항목 들을 순환하며 접.. 2021. 3. 21.
콜백 함수(Callback function) with javascript 안녕하세요 기공준입니다. 이번 글은 콜백 함수에 대해 간단히 알아보고 자바스크립트 예제로 조금 더 쉽게 이해해보려고 합니다. 먼저 콜백 함수 이전에 콜백에 대해서 간단하게 알아보겠습니다. 콜백(Callback) 콜백은 다른 코드의 인수로 넘겨지며, 실행 가능한 코드입니다. 이 콜백을 넘겨받은 코드는 콜백을 필요에 따라 즉시 또는 나중에 사용할 수 있다고 합니다.(동기 비동기에 관한 내용인 듯) 콜백 함수(Callback function) 콜백 함수는 다른 함수에 인수로 전달된 함수입니다. 그럼 예제를 보고 더 쉽게 이해해봅시다. 예제 - 동기 콜백 함수 function hiHello(name){ console.log("Hi, "+name); } function hi(name,hello){ hello(na.. 2021. 3. 11.
일급 함수(First-class function) with javascript 안녕하세요 기공준입니다. 이번 글은 일급 함수의 간단한 개념을 알아보고 javascript로 예제를 작성하여 더욱 쉽게 이해해보려고 합니다. 일급 함수란? 함수가 다른 함수에 매개 변수로 제공되거나, 함수를 반환할 수 있으며, 변수에 할당하거나 데이터 구조에 저장될 수 있어야 한다고 합니다. 이런 조건들을 만족하면 일급 함수라고 표현한다고 하네요. 일급 함수는 함수형 프로그래밍 스타일에 필수이며, 고차 함수의 사용이 표준 관행이라고 합니다. 그럼 이제 예제를 작성하면서 조금 더 쉽게 이해해 보겠습니다. 예제 1 - 변수에 함수 할당 const fisrtClassFunction = function() { consolo.log("I am fisrtClassFunction"); } firstClassFunct.. 2021. 3. 10.
컴퓨터 프로그램을 만드는 두 가지 방식 (초간단) 전통적인 입장에서 컴퓨터 프로그램을 만드는 방식은 두 가지가 있다고 한다. 컴파일 인터프리트 컴파일 먼저 컴파일은 고급언어로 작성된 소스코드 전체를 하드웨어가 처리하기에 용이한 형태의 기계어로 한 번에 변환한다고 한다. 여기서 고급언어는 사람이 이해하기 쉽게 작성된 언어이다. ( 자바 , C 등 대부분의 프로그래밍 언어들) 소스코드를 한 번에 기계어로 변환하기 때문에 변환하는 과정이 오래 걸린다는 단점이 있지만 한 번에 변환됐기 때문에 프로그램을 실행하는 속도는 빠르다는 장점이 있다. 인터프리트 인터프리트는 고급언어로 작성된 소스코드를 한 줄씩 읽어 들여 바로 실행한다고 한다. 컴파일 프로그램에 비해 실행 속도는 느리다는 단점이 있지만 적은 양의 소스코드들을 바로바로 테스트를 할 수 있기 때문에 개발 단.. 2021. 3. 5.