GithubHelp home page GithubHelp logo

jaeyeophan / algorithm_basic_java Goto Github PK

View Code? Open in Web Editor NEW
206.0 7.0 37.0 124 KB

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

Java 100.00%
algorithm java coding-tutorial

algorithm_basic_java's Introduction

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

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

algorithm_basic_java's People

Contributors

jaeyeophan avatar ksh-code avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

algorithm_basic_java's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.