Skip to content

☠️ This is a repository that summarizes the algorithmic problems that are mainly in coding interviews. It is written based on the Java language.

Notifications You must be signed in to change notification settings

JaeYeopHan/algorithm_basic_java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Algorithm_basic

기본적인 알고리즘을 정리한 Repository 입니다. 모든 코드는 test 디렉토리에 존재하며 주제별로 나뉘어 있습니다. 알고리즘 코드들은 java로 작성되었습니다


Algorithm basic List

String basic part

  • 주어진 문자열을 int 형으로 변환한다. code
  • 주어진 문자열을 역순으로 출력한다. code
  • 주어진 문자열에서 문자열을 구성하고 있는 각각의 문자열들이 고유한지를 판단한다. code
  • 주어진 문자열이 애너그램인지를 판단한다. code
  • 주어진 문자열을 길이와 함께 적어주면서 압축을 한다. code
  • 주어진 문서(단어별로 나뉘어진 배열)에서 특정 단어의 빈도를 구한다. code

Basic Math

  • 주어진 두 수의 최대 공약수와 최소 공배수를 구한다. code
  • n개의 서로 다른 원소 중 r개의 원소를 순서없이 선택하는 방법의 수를 구한다. code
  • 주어진 수보다 작은 소수의 개수를 구한다. code
  • Fibonacci 를 계산하는 함수를 작성한다. code
  • 주어진 정수의 각 자리 수의 합을 구한다. code
  • 사다리를 한 칸 또는 두 칸씩 오를 수 있다고 했을 때 사다리 높이에 따른 사다리 오르기 방법의 경우의 수를 구한다. code

Recursion part

  • 주사위로 이동 가능한 경우의 수를 모두 구한다. code
  • n비트의 모든 경우의 수를 출력한다. code
  • 순열을 구한다. code
  • N개 괄호로 만들 수 있는 모든 조합 출력하기. code

DataStructure

LinkedList

  • 첫번째 원소를 제거한다.
  • 중복된 원소를 제거한다.
  • 역순으로 출력한다.
  • k번째 원소를 찾는다.
  • 회문인지 판단한다.
    code

Stack

  • Array를 사용하여 Stack을 구현한다. code
  • ArrayList를 사용하여 Stack을 구현한다. code
  • Stack에 저장된 값들 중 최소값을 반환하는 minStack() 함수를 구현한다. code
  • Stack 자료구조를 사용하여 회문을 판별한다. code
  • 괄호의 유효성을 체크한다. code

Queue

  • Stack을 사용하여 queue를 stack처럼 만든다. code
  • Stack 두 개로 Queue를 구현한다. code

BinaryTree

  • 바이너리 트리에서 최대값을 구한다.
  • 주어진 바이너리 트리가 균형 잡힌 트리인지 판별한다.
  • 오름차순으로 정렬된 배열을 Binary Search Tree로 변환한다.
  • 주어진 트리가 BST인지 확인한다.
    code

Priority Queue

  • Priority queue를 사용하여 heap sort를 하라. code
  • 많은 수 중 top 10을 구한다. code

Sort and Search

  • bubble sort를 구현한다. code
  • Insertion sort를 구현한다. code
  • Selection sort를 구현한다. code
  • Quick sort를 구현한다. code
  • radix sort를 구현한다. code

Search

  • binary search를 사용하여 O(log n)의 시간복잡도로 target을 찾는다. code
  • 정렬된 2차원 배열에서 검색한다. code

bit

  • 2의 제곱수인지 판별한다.
  • 두 수에서 다른 비트의 개수를 구한다.
    code
  • O(1)으로 해당 데이터가 존재하는지 판단한다. code


알고리즘 문제 풀어보기

Dynamic Programming

Exercise

  • 주어진 배열에서 양 쪽의 합이 동일해지는 index의 값을 구한다. code
  • n!의 결과값에서 0의 개수를 구한다. code
  • temp 를 사용하지 않고 두 변수를 swap 한다. code
  • 어느날의 월, 일을 입력받아 요일을 반환하는 함수를 구현한다. code
  • 주어진 배열에서 합이 최대가 되는 sub array의 합을 구한다. code
  • 주어진 두 수 사이에 존재하는 수 중 제곱수가 되는 것을 구한다. code
  • 주어진 배열로 구성된 링크드 리스트의 길이를 구한다. code
  • 주어진 배열에서 두 자리수만 골라서 합한 값을 return 한다. code
  • 각각의 주사위들이 모두 같은 면을 보이기 위한 최소 rotate 횟수를 구한다. code

Famous Algorithm

  • Karp_Rabin_Algorithm code
  • KMP_Algorithm code

LICENSE

크리에이티브 커먼즈 라이선스

About

☠️ This is a repository that summarizes the algorithmic problems that are mainly in coding interviews. It is written based on the Java language.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages