기본적인 알고리즘을 정리한 Repository 입니다. 모든 코드는 test
디렉토리에 존재하며 주제별로 나뉘어 있습니다. 알고리즘 코드들은 java로 작성되었습니다
- 주어진 문자열을 int 형으로 변환한다. code
- 주어진 문자열에서 문자열을 구성하고 있는 각각의 문자열들이 고유한지를 판단한다. code
- 주어진 문자열이 애너그램인지를 판단한다. code
- 주어진 문자열을 길이와 함께 적어주면서 압축을 한다. code
- 주어진 문서(단어별로 나뉘어진 배열)에서 특정 단어의 빈도를 구한다. code
- 주어진 수보다 작은 소수의 개수를 구한다. code
- 주어진 두 수의 최대 공약수와 최소 공배수를 구한다. code
- Fibonacci 를 계산하는 함수를 작성한다. code
- Dynamic Programming Fibonacci. code
- 주사위로 이동 가능한 경우의 수를 모두 구한다. code
- n비트의 모든 경우의 수를 출력한다. code
- 순열을 구한다. code
- N개 괄호로 만들 수 있는 모든 조합 출력하기. code
- 첫번째 원소를 제거한다.
- 중복된 원소를 제거한다.
- 역순으로 출력한다.
- k번째 원소를 찾는다.
- 회문인지 판단한다.
code
- Array를 사용하여 Stack을 구현한다. code
- ArrayList를 사용하여 Stack을 구현한다. code
- Stack에 저장된 값들 중 최소값을 반환하는 minStack() 함수를 구현한다. code
- Stack 자료구조를 사용하여 회문을 판별한다. code
- 바이너리 트리에서 최대값을 구한다.
- 주어진 바이너리 트리가 균형 잡힌 트리인지 판별한다.
- 오름차순으로 정렬된 배열을 Binary Search Tree로 변환한다.
- 주어진 트리가 BST인지 확인한다.
code
- bubble sort를 구현한다. code
- Insertion sort를 구현한다. code
- Selection sort를 구현한다. code
- Quick sort를 구현한다. code
- radix sort를 구현한다. code
- 양 쪽의 합이 동일해지는 index의 값을 구한다. code
- n!의 결과값에서 0의 개수를 구한다. code
- temp 를 사용하지 않고 두 변수를 swap 한다. code
- 어느날의 월, 일을 입력받아 요일을 반환하는 함수를 구현한다. code
- 주어진 배열에서 합이 최대가 되는 sub array의 합을 구한다. code