일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 코플릿
- Where
- Hackerrank
- array
- join
- Programmers
- Algorithms
- 배열
- 최강의 인생
- 개발자의 책장
- 자바스크립트
- 코딩공부
- 역행자
- 프로그래머스
- JavaScript
- 알고리즘
- SQL
- 개발자_조이킴
- array.push()
- 코드스테이츠
- 코딩테스트
- 블록체인
- array.slice()
- Developer_JoyKim
- for문
- MySQL
- select
- 정규표현식
- 재귀함수
- node.js
- Today
- Total
목록자료구조 및 알고리즘 (3)
CodingSpace

에라토스테네스의 체 에라토스테네스의 체는 소수 찾기 알고리즘 중 가장 효율적인 알고리즘이라고 알려진 알고리즘이다. 알고리즘 로직 1. 2부터 소수를 구하고자 하는 구간의 모든 수를 나열한다. 2. 2는 소수이므로 오른쪽에 2를 쓴다. 3. 자기 자신을 제외한 2의 배수를 모두 지운다. 4. 남아있는 수 가운데 3은 소수이므로 오른쪽에 3을 쓴다. 5. 자기 자신을 제외한 3의 배수를 모두 지운다. 6. 남아있는 수 가운데 5는 소수이므로 오른쪽에 5를 쓴다. 7. 자기 자신을 제외한 5의 배수를 모두 지운다. 8. 남아있는 수 가운데 7은 소수이므로 오른쪽에 7을 쓴다. 9. 자기 자신을 제외한 7의 배수를 모두 지운다. 10. 위의 과정을 반복하면 구하는 구간의 모든 소수가 남는다. 코드 구현 에라토스..

Queue 먼저 삽입된 데이터가 먼저 나오는 FIFO(First In First Out) 구조로 잘 알려진 자료구조이다. 너비 우선 탐색 (Breadth First Search, BFS)를 구현하는데 사용된다. 코드 구현 자료구조 Queue를 javascript 코드로 구현하면 아래와 같다. // javascript로 구현한 // 자료구조 Queue class Queue { constructor() { this.queue = []; this.head = 0; this.rear = 0; } // 삽입 enqueue(value) { this.rear++; this.queue[this.rear] = value; } // 제거 dequeue() { const value = this.queue[this.front..

Heap 이진 트리(Binary Tree) 형태를 가지며 우선순위가 높은 요소가 먼저 나가기 위해 요소가 삽입, 삭제될 때 바로 정렬되는 특징을 가짐 Heap에는 루트가 가장 큰 값이 되는 최대 힙(Max Heap)과 루트가 가장 작은 값이 되는 최소 힙(Min Heap)이 있다. 일반적으로 배열(array)를 활용해 구현한다. Heap - 요소 추가 알고리즘 ①: Heap에 요소가 추가될 때는 트리의 가장 마지막 정점에 위치시킨다. ②: 요소를 추가한 후 부모 정점보다 우선순위가 높다면 부모 정점과 순서를 바꾼다. ①번 ②번 과정을 반복하면 가장 우선순위가 높은 정점이 루트가 된다. 위의 알고리즘을 javascript 코드로 구현하면 아래와 같다. // javascript로 구현한 // Heap 요소 ..