Skip to content

mark146/algorithm_basic_java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Algorithm_basic

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


Algorithm basic List

Basic part

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

Recursion part


DataStructure

코드보기edList

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

Stack

  • Array를 사용하여 Stack을 구현한다. 코드보기
  • ArrayList를 사용하여 Stack을 구현한다. 코드보기
  • Stack에 저장된 값들 중 최소값을 반환하는 minStack() 함수를 구현한다. 코드보기
  • Stack 자료구조를 사용하여 회문을 판별한다. 코드보기

Queue

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

BinaryTree

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

Priority Queue


Algorithm

Sort

Search

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

bit

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


알고리즘 문제 풀어보기

Codility exercise

  • 양 쪽의 합이 동일해지는 index의 값을 구한다. 코드보기

Others

  • n!의 결과값에서 0의 개수를 구한다. 코드보기
  • temp 를 사용하지 않고 두 변수를 swap 한다. 코드보기
  • 어느날의 월, 일을 입력받아 요일을 반환하는 함수를 구현한다. 코드보기
  • 주어진 배열에서 합이 최대가 되는 sub array의 합을 구한다. 코드보기

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 100.0%