Tag - algorithm

algorithm

자바스크립트로 구현해보는 다양한 정렬

## 거품(버블)정렬 - 가까운 두 원소를 비교해서 정렬하는 방식이다. - `O(N^2)` - 코드가 단순하고 구현하기 쉽다 - 느리다. ![bubble-sort](https://upload.wikimedia.org/wikipedia/commons/3/37/Bubble_sort_animation.gif) ```javascript function bub...

Read

Codility - Stone Wall

## StoneWall ### 문제 돌은 N미터 길이를 가지고 있으며, 두께는 모두 일정하다. 배얼에 돌 높이가 주어져 있으며, 아래와 같이 해석할 수 있다. - H[i]: 왼쪽에서 오른쪽으로 벽의 높이 - H[0]: 벽 왼쪽 끝의 높이 - H[N-1]: 벽 마지막 끝의 높이 ``` H[0] = 8 H[1] = 8 H[2] = 5 H[3]...

Read

Codility - Nesting

## Nesting ### 문제 `(`와 `)`로 이루어진 문자열이 있다. 이 문자열의 `(` `)` 짝이 맞게 이루어져 있는지 확인하라. ### 풀이 ```javascript function solution(S) { const split = S.split('') const stack = [] for (let i of split...

Read

Codility - Fish

## Fish ### 문제 길이 N으로 이루어진 비어있지 않은 배열 A, B가 주어진다. 배열 A는 물고기의 크기를, B는 물고기의 움직임을 나타내는데, 0일 경우 위로, 1일 경우 아래로 간다. 만약 두마리의 물고기가 만날 경우, 더 사이즈가 큰 물고기가 잡아먹어버린다. 이 때 살아남는 물고기의 수를 구하라. ``` A[0] = 4 B[0] =...

Read

Codility - Brackets

## Brackets ### 문제 문자열 S가 주어지고, S는 다음 경우 일 때 참을 반환해야 한다. - S가 비어있는 경우 - `(U)` or `[U]` or `{U}` 의 형태로 괄호안에 문자열이 있는 경우 - 괄호가 짝이 맞게 닫혀있는 경우 예를 들어 `{[()()]}`는 괄호가 알맞게 들어있지만, `([)()]`는 그렇지 못하다. (짝은 맞...

Read