- A와 B가 내기를 했다. - 1 ~ 100까지의 숫자 중 하나를 B가 골랐을 때 A가 4번의 시도 안에 그 숫자를 맞추면 A가 이기고 그렇지 못하면 B가 이긴다. - B는 A가 틀린 숫자를 얘기하면 해당 숫자가 자신이 고른 숫자보다 up인지 down인지 말해줘야한다. Q. 이때 A가 숫자를 맞추는 가장 효율적인 방법은 무엇일까? A. 숫자 범위의 중간(혹은 중간즈음)을 선택하는 것이다. ex) B는 94를 골랐다. 1번 시도 : A는 1 ~ 100의 중간인 50을 얘기한다. / 오답이므로 B는 UP이라고 얘기한다. 2번 시도 : A는 51 ~ 100의 중간즈음인 75를 얘기한다. / 오답이므로 B는 UP이라고 얘기한다. 3번 시도 : A는 75 ~ 100의 중간즈음인 87을 얘기한다. / 오답이므로 ..

- 아래의 영상을 보고 정리했다. https://www.youtube.com/watch?v=WbP1KDXLgG4&list=PLrj92cHmwIMfxmffI2RSuSmWfmHvLksoB&index=47 ● Graph 1. 그래프의 구성요소 1). 정점(vertex) : 노드의 집합(Tree에서의 노드가 Graph에서는 정점이라고 불린다.) 2). 간선(edge) : 정점 쌍의 집합(각 노드 간의 길이라고 생각하면 된다.) - 그래프는 정점과 간선 데이터 모두 저장해야 한다.2. 그래프 정점과 간선의 예 1). 구글 지도 : 각 위치는 정점으로, 경로는 간선으로 표시 2). 인스타 친구 : 각 사용자는 정점으로, 친구 관계는 간선으로 표시 3). 항공 운송망 : 각 공항은 정점으로, 항로는 간선으로 표시. ..

● Insertion Sort? - Insertion Sort 또한 어렵지는 않지만 성능이 아쉬운 정렬이다. - Insertion Sort 또한 Selection sort와 마찬가지로 배열을 두 영역(정렬된 영역, 정렬되지 않은 영역)으로 나눠서 진행한다. - Insertion Sort는 정렬되지 않은 영역의 가장 앞에 있는 데이터를 하나씩 꺼내서 정렬된 영역 내의 적절한 위치에 삽입해서 정렬하는 알고리즘이다. [4, 1, 5, 3, 6, 2] - 참고로 Insertion Sort는 첫 번째 원소(index = 0)는 이미 정렬이 되어있다는 가정하에 정렬을 하는 알고리즘이다. - 아래 그림으로 보면 (index[0] = 4)는 이미 정렬되어 있는 상태이다. 1. - 정렬되지 않은 영역의 첫 번째 원소인 ..

● 선택정렬(Selection sort)? - Selection sort 또한 Bubble sort와 마찬가지로 구현이 그다지 어렵지 않은 알고리즘이다. - 반대로 말하면 Selection sort 또한 Bubble sort와 마찬가지로 성능이 좋다고 할 수는 없다. - Selection sort는 배열의 정렬되지 않은 영역의 첫 번째 원소(가장 앞 원소)를 시작으로 마지막 원소까지 비교 후 가장 작은 값을 첫 번째 원소로 가져온다. ex) [6, 3, 4, 1, 2, 5] - 위의 배열이 한 번도 Selection sort를 거치지 않은 배열이라고 했을 때 배열의 정렬되지 않은 영역은 아래와 같다. - 정렬되지 않은 영역의 첫 번째 원소(index[0] = 6)를 시작으로 마지막 원소까지 비교 후 가장..

● 도입 - 앞으로 몇 개의 글에서 배열에 무작위로 섞인 숫자를 정렬하는 방법에 대해 알아볼 것이다. - 이번 글에서는 여러개의 정렬 알고리즘 중 Bubble Sort에 대해 알아볼 것이다. - Bubble Sort는 가장 쉬운 정렬 알고리즘 중 하나이다. ● 개념 - Bubble Sort는 앞에 있는 숫자와 옆에 있는 숫자의 크기를 비교해 자리를 바꾸는 알고리즘이다. [4, 2, 3, 1] - 위와 같이 숫자가 무작위로 들어있는 배열이 있다고 했을 때 아래와 같은 작업이 일어난다. 1). 가장 앞에 있는 숫자 4와 그 옆에 있는 숫자 2의 크기를 비교한다. 2). (4 > 2)이므로 4와 2의 자리를 바꾼다. → [2, 4, 3, 1] 3). 두 번째 숫자 4와 그 옆에 있는 숫자 3의 크기를 비교한다..

- 프로그램은 자료구조와 알고리즘으로 이루어져있다. ● 자료구조 - 자료구조는 데이터가 어떤 구조로 저장되고 어떻게 사용되는지를 나타낸다. - 흔히 사용하는 변수, 배열도 사실은 수 많은 자료구조 중 하나이다. - 성적의 평균을 구하는 코드를 작성한다고 했을 때 아래와 같이 할 수 있다.(왼쪽이 변수, 오른쪽이 배열을 사용했을 때) - 데이터를 변수에 저장하냐 배열에 저장하냐에 따라 처리 방법이 달라진다. 변수와 배열이 저장된 모양도 다르고 사용 방법도 다르기 때문이다. - 즉, 자료구조에 따라서 처리 방법이 달라지는 것이다. ● 알고리즘(자료구조가 바뀌면 알고리즘도 달라진다.) - 어떤 문제를 해결하기 위한 확실한 방법 - 평균을 구하라는 과제가 주어졌을 때 떠오르는 해결 방법은 무수히 많을 것이다. ..
- Total
- Today
- Yesterday
- 자료구조
- db
- Advanced Stream
- SpringBoot
- 메모리
- MongoDB
- 빅데이터
- git
- 알고리즘
- 프로그래머스
- Java8
- Phaser3
- nosql
- MySQL
- Spring Boot
- OS
- 빅데이터 분석기사
- Stream
- 프로세스
- spring
- java
- 운영체제
- 코딩테스트
- 코테
- SQL
- Phaser
- node.js
- DART
- API
- jpa
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |