Skip to content

kiyoung-Lee/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

Algorithm basic with java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

ย 
ย 
ย 

Contributors

Languages

  • Java 100.0%