• Stars
    star
    120
  • Rank 295,983 (Top 6 %)
  • Language
    Java
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐Ÿ““ algorithm study

algorithm-study

Development environment

Study Rule

  • Github๋ฅผ ํ†ตํ•œ ์ฝ”๋“œ ๊ณต์œ  ๋ฐ ํ”ผ๋“œ๋ฐฑ
  • ๊ฐœ์ธ์ด ํ•  ์ผ
    • ์ด๋ก  ์ •๋ฆฌ
      • ๊ฐ์ž๊ฐ€ ํ•ด๋‹น ๋ฒ”์œ„์— ๋Œ€ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋ก  ๋‚ด์šฉ์„ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ•œ๋‹ค.
    • ๋ฌธ์ œ ํ’€์ด
      • ๊ฐ์ž๊ฐ€ ํ•ด๋‹น ๋ฒ”์œ„์— ๋Œ€ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ‘ผ๋‹ค.
      • ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ ๋ฐœ์ƒํ•œ [issue] ๋ฅผ ๋‚จ๊ธด ํ›„ Readme์— ๊ธฐ๋กํ•œ๋‹ค.
        • issue: ์ถ”๊ฐ€๋กœ ๊ณต๋ถ€ํ•˜๊ณ  ์‹ถ์€ ๊ฐœ๋…, ์–ด๋ ค์› ๋˜ ๋ถ€๋ถ„, ์˜ค๋ฅ˜๊ฐ€ ๋‚œ ๋ถ€๋ถ„ ๋“ฑ
        • ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋งํฌ๋„ ์ฒจ๋ถ€ํ•œ๋‹ค.
      • ๊ฐ์ž๊ฐ€ ํ•ด๋‹น ์ฝ”๋“œ์˜ ์ข‹์€ ์˜ˆ์ œ๋ฅผ ์ฐพ์•„์„œ ๋ถ„์„ํ•œ๋‹ค.
    • ๊ณต์œ  ๋ฐ ํ”ผ๋“œ๋ฐฑ
      1. ๊ฐ์ž๊ฐ€ ํ‘ผ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ฝ”๋“œ๋ฅผ feature branch๋ฅผ ๋”ฐ์„œ github์— pushํ•œ ํ›„ pull request๋ฅผ ๋‚ ๋ฆฐ๋‹ค.
      2. ์ƒ๋Œ€๋ฐฉ์˜ ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•œ ํ›„ [review] ๋ฅผ ํ†ตํ•ด ํ”ผ๋“œ๋ฐฑ์„ ์ ๋Š”๋‹ค.
      3. ํ”ผ๋“œ๋ฐฑ์„ ์ ์€ ํ›„ ํ•ด๋‹นํ•˜๋Š” feature branch๋ฅผ GUI(Github page)๋ฅผ ์ด์šฉํ•˜์—ฌ mergeํ•œ๋‹ค.
    • ํšŒ๊ณ 
      • ์ž์‹ ์˜ ์ฝ”๋“œ์— ๋Œ€ํ•œ ํ”ผ๋“œ๋ฐฑ( [review] )์„ ํ™•์ธํ•œ๋‹ค.
      • ์ƒˆ๋กœ ์—…๋ฐ์ดํŠธ๋œ ์ฝ”๋“œ๋ฅผ pull๋ฐ›๋Š”๋‹ค.
      • ์ข‹์€ ํ’€์ด๋ฒ• + ํ”ผ๋“œ๋ฐฑ์„ ์ด์šฉํ•˜์—ฌ ์ž์‹ ์˜ ์ฝ”๋“œ๋ฅผ ์žฌ์ ๊ฒ€ํ•œ๋‹ค.
      • ๊ด€๋ จ๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด๋ฒ•์— ๋Œ€ํ•ด ๋ณต์Šตํ•œ๋‹ค.
      • ์ž์‹ ์˜ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ ๋‹ค์‹œ pushํ•œ๋‹ค.
  • ์Šคํ„ฐ๋”” ๋ชจ์ž„์—์„œ ํ•  ์ผ
    • ์ด๋ก  ์ •๋ฆฌ ๊ณต์œ 
    • ๋ฌธ์ œ ํ’€์ด ํ”ผ๋“œ๋ฐฑ ํ™•์ธ
      • ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ ๋ฐœ์ƒํ•œ [issue] ์— ๋Œ€ํ•ด ๋…ผ์˜ํ•˜์—ฌ Readme์— ์ •๋ฆฌํ•œ๋‹ค.
    • ์ข‹์€ ์ฝ”๋“œ์— ๋Œ€ํ•œ ๋ถ„์„ ๊ณต์œ 

์ •๋ ฌ

โœ”๏ธ issue ์ •๋ฆฌ ๋‚ด์šฉ

  • [#issue1] Comparable, Comparator ์„ ์ด์šฉํ•œ Java ๊ฐ์ฒด ์ •๋ ฌ
  • [#issue1-1] Comparable, Comparator ์‚ฌ์šฉ ์˜ˆ์ œ
  • [#issue2] Java ์–ธ์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์ •๋ ฌํ•  ๋•Œ ์‹œ๊ฐ„์ดˆ๊ณผ ๋ฌธ์ œ
  • [#issue3] List์™€ ArrayList์˜ ์ฐจ์ด
  • [#issue3-1] ์—…์บ์ŠคํŒ…, ๋‹ค์šด์บ์ŠคํŒ…์ด๋ž€
  • [#issue4] Arrays.sort()์™€ Collections.sort()์˜ ์ฐจ์ด
  • [#issue5] BufferedReader/BufferedWriter, InputStreamReader/OutputStreamWriter์˜ ์ฐจ์ด
  • [#issue6] String, StringBuilder, StringBuffer์˜ ์ฐจ์ด
  • [#issue7] counting sort(๊ณ„์ˆ˜์ •๋ ฌ)์˜ ๊ฐœ๋… ๋ฐ ์‹œ๊ฐ„๋ณต์žก๋„
  • [#issue8] Java Collections Framework
  • [#issue8-1] java Map ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„์ฒด์˜ ์ข…๋ฅ˜
  • [#issue8-2] java Set ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„์ฒด์˜ ์ข…๋ฅ˜
  • [#issue8-3] java List ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„์ฒด์˜ ์ข…๋ฅ˜
  • [#issue9] java ์ž๋ฃŒํ˜•์˜ ๋ฒ”์œ„ (ex. Integer, Long, BigInteger, BigDecimal)
  • [#issue9-1] ์ž…๋ ฅ๊ฐ’ ์กฐ๊ฑด์— ๋”ฐ๋ฅธ java ์ž๋ฃŒํ˜• ์„ ํƒ ๋ฐฉ๋ฒ•
  • [#issue10] ๋ฌธ์ž์—ด ๋ถ„๋ฆฌ๋ฅผ ์œ„ํ•œ StringTokenizer์™€ String.spilt์˜ ์ฐจ์ด
  • [#issue10-1] ๋ฌธ์ž์—ด ๋ถ„๋ฆฌ๋ฅผ ์œ„ํ•œ StringTokenizer์™€ String.spilt์˜ ์‚ฌ์šฉ ์˜ˆ์ œ
  • [#issue11] BufferedReader/Scanner, Arrays.sort()/Collections.sort()์— ๋”ฐ๋ฅธ ์‹œ๊ฐ„๋ณต์žก๋„ ๋ถ„์„

์ˆ˜ํ•™1-1(๋‚˜๋จธ์ง€, ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜, ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜, GCD์˜ ํ•ฉ, ์ง„๋ฒ•)

โœ”๏ธ issue ์ •๋ฆฌ ๋‚ด์šฉ

  • [#issue1] ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜(GCD)๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ• '์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•'์˜ ๊ฐœ๋…
  • [#issue1-1] ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜(LCM)๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•
  • [#issue2] ๊ธฐ๋ณธ์ ์ธ ์•„์Šคํ‚ค์ฝ”๋“œ
  • [#issue3] 10์ง„์ˆ˜ <-> 2์ง„์ˆ˜, 8์ง„์ˆ˜, 16์ง„์ˆ˜ ๋ณ€ํ™˜ ์‹œ Integer API ์‚ฌ์šฉ

์ˆ˜ํ•™1-2(์†Œ์ˆ˜, ์†Œ์ธ์ˆ˜๋ถ„ํ•ด, ํŒฉํ† ๋ฆฌ์–ผ)

โœ”๏ธ issue ์ •๋ฆฌ ๋‚ด์šฉ

  • [#issue1] 1~N ๊นŒ์ง€์˜ ์ˆ˜์—์„œ ๋ชจ๋“  ์†Œ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ• '์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด'์˜ ๊ฐœ๋…
  • [#issue2] ์†Œ์ธ์ˆ˜๋ถ„ํ•ด์˜ ๊ฐœ๋…๊ณผ ๊ฐ„๋‹จํ•œ ํ’€์ด๋ฒ•

์ˆ˜ํ•™2-1(์ œ๊ณฑ, ํ–‰๋ ฌ, ํ”ผ๋ณด๋‚˜์น˜์˜ ์ˆ˜, ์ดํ•ญ๊ณ„์ˆ˜, ํŒŒ์Šค์นผ์˜ ์‚ผ๊ฐํ˜•)

โœ”๏ธ issue ์ •๋ฆฌ ๋‚ด์šฉ

  • [#issue1] ๋ถ„ํ• ์ •๋ณต์„ ์ด์šฉํ•˜์—ฌ ์ œ๊ณฑ์„ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•
  • [#issue2] ์ด์ง„์ˆ˜์˜ ์›๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ œ๊ณฑ์„ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•
  • [#issue3] ํ–‰๋ ฌ์˜ ๊ณฑ ๊ตฌํ•˜๊ธฐ
  • [#issue4] ํ”ผ์‚ฌ๋…ธ ์ฃผ๊ธฐ์˜ ๊ฐœ๋…๊ณผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•
  • [#issue5] ์Œ์ˆ˜ ๋ฒˆ์งธ์˜ ํ”ผ๋ณด๋‚˜์น˜์˜ ์ˆ˜์— ๋Œ€ํ•œ ๊ทœ์น™์„ฑ
  • [#issue6] ์ดํ•ญ๊ณ„์ˆ˜ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•

์ˆ˜ํ•™2-2(์นดํƒˆ๋ž€ ์ˆ˜, ์˜ค์ผ๋Ÿฌ ํ”ผ ํ•จ์ˆ˜, ์œ ํด๋ฆฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ, ์ˆœ์—ด)

โœ”๏ธ issue ์ •๋ฆฌ ๋‚ด์šฉ

  • [#issue1] ์นดํƒˆ๋ž€ ์ˆ˜์˜ ๊ฐœ๋…๊ณผ ์ ์šฉ ์‚ฌ๋ก€
  • [#issue1-1] ์นดํƒˆ๋ž€ ์ˆ˜ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•
  • [#issue2] ์˜ค์ผ๋Ÿฌ ํ”ผ ํ•จ์ˆ˜์˜ ๊ฐœ๋…๊ณผ ํ™œ์šฉ
  • [#issue2-1] ์˜ค์ผ๋Ÿฌ ํ”ผ ํ•จ์ˆ˜ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•
  • [#issue3] ์‚ฌ์ „์ˆœ์œผ๋กœ ๋‹ค์Œ์— ์˜ค๋Š” ์ˆœ์—ด

์ž๋ฃŒ๊ตฌ์กฐ1(์Šคํƒ, ํ, ๋ฑ, ๋ฌธ์ž์—ด)

โœ”๏ธ issue ์ •๋ฆฌ ๋‚ด์šฉ

  • [#issue1] ์Šคํƒ(Stack)์˜ ๊ฐœ๋…
  • [#issue1-1] ์Šคํƒ(Stack) ๊ด€๋ จ ๋ฉ”์„œ๋“œ
  • [#issue2] ํ(Queue)์˜ ๊ฐœ๋…
  • [#issue2-1] ํ(Queue) ๊ด€๋ จ ๋ฉ”์„œ๋“œ
  • [#issue3] ๋ฑ(Deque, Double-ended Queue)์˜ ๊ฐœ๋…
  • [#issue3-1] ๋ฑ(Deque, Double-ended Queue) ๊ด€๋ จ ๋ฉ”์„œ๋“œ
  • [#issue4] String indexOf()์˜ ์‚ฌ์šฉ๋ฒ•
  • [#issue5] String substring()์˜ ์‚ฌ์šฉ๋ฒ•

์ž๋ฃŒ๊ตฌ์กฐ2(์Šคํƒ, Disjoint-set, ๋น„ํŠธ๋งˆ์Šคํฌ, ํž™, ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ)

โœ”๏ธ issue ์ •๋ฆฌ ๋‚ด์šฉ

  • [#issue1] Disjoint-set(์„œ๋กœ์†Œ ์ง‘ํ•ฉ ์ž๋ฃŒ๊ตฌ์กฐ)์˜ ๊ฐœ๋…๊ณผ ์‚ฌ์šฉ ์˜ˆ์ œ
  • [#issue1-1] Disjoint-set ๊ตฌํ˜„ ๋ฐฉ๋ฒ•
  • [#issue2] ๋น„ํŠธ๋งˆ์Šคํฌ์˜ ๊ฐœ๋…๊ณผ ์‚ฌ์šฉ ์ด์œ 
  • [#issue2-1] ๋น„ํŠธ์—ฐ์‚ฐ์˜ ์ข…๋ฅ˜์™€ ์‚ฌ์šฉ๋ฒ•
  • [#issue3] ์ด์ง„ ํŠธ๋ฆฌ์˜ ๊ฐœ๋…๊ณผ ์ข…๋ฅ˜
  • [#issue3-1] ์ด์ง„ ํŠธ๋ฆฌ์™€ ๊ด€๋ จ๋œ ์šฉ์–ด๋“ค
  • [#issue4] ์ตœ๋Œ€ํž™์˜ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ
  • [#issue5] ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ์˜ ๊ฐœ๋…

ํŠธ๋ฆฌ์™€ ์ด์ง„ ํƒ์ƒ‰

โœ”๏ธ issue ์ •๋ฆฌ ๋‚ด์šฉ

  • [#issue1] ํŠธ๋ฆฌ์˜ ๊ฐœ๋…๊ณผ ์ ์šฉ ์‚ฌ๋ก€
  • [#issue1-1] ํŠธ๋ฆฌ์˜ ์ง€๋ฆ„ ๊ฐœ๋…๊ณผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•
  • [#issue1-2] ํŠธ๋ฆฌ์™€ ๊ทธ๋ž˜ํ”„์˜ ์ฐจ์ด์ 
  • [#issue1-3] ์ด์ง„ ํŠธ๋ฆฌ์˜ ์ˆœํšŒ(์ „์œ„, ์ค‘์œ„, ํ›„์œ„ ์ˆœํšŒ)
  • [#issue2] ์ด์ง„ ํƒ์ƒ‰์˜ ๊ฐœ๋…

๊ทธ๋ž˜ํ”„1(๊ทธ๋ž˜ํ”„, DFS, BFS, ์ด๋ถ„๊ทธ๋ž˜ํ”„, ์‚ฌ์ดํด, ํ”Œ๋Ÿฌ๋“œ ํ•„)

โœ”๏ธ issue ์ •๋ฆฌ ๋‚ด์šฉ

  • [#issue1] ๊ทธ๋ž˜ํ”„์˜ ๊ฐœ๋…๊ณผ ์ ์šฉ ์‚ฌ๋ก€
  • [#issue2] ํŠธ๋ฆฌ๋‚˜ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ฐฉ๋ฌธ ๋˜๋Š” ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ• 1: BFS(๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰)
  • [#issue3] ํŠธ๋ฆฌ๋‚˜ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ฐฉ๋ฌธ ๋˜๋Š” ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ• 2: DFS(๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰)
  • [#issue4] ์ด๋ถ„ ๊ทธ๋ž˜ํ”„์˜ ๊ฐœ๋…
  • [#issue4-1] ์ด๋ถ„ ๊ทธ๋ž˜ํ”„์ธ์ง€ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•
  • [#issue5] ์‚ฌ์ดํด์˜ ๊ฐœ๋…
  • [#issue6] ํ”Œ๋Ÿฌ๋“œ ํ•„(Flood Fill) ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ฐœ๋…

๊ทธ๋ž˜ํ”„2(DAG(Directed Acyclic Graph), ์œ„์ƒ ์ •๋ ฌ, ์ตœ์†Œ ๋น„์šฉ ์‹ ์žฅ ํŠธ๋ฆฌ(Minimum Spanning Tree), Prim, Kruskal, ์ตœ๋‹จ ๊ฒฝ๋กœ(Shortest Path), Bellman-Ford)

โœ”๏ธ issue ์ •๋ฆฌ ๋‚ด์šฉ

  • [#issue1] DAG(Directed Acyclic Graph)์˜ ๊ฐœ๋…
  • [#issue2] ์œ„์ƒ ์ •๋ ฌ(Topological Sort)
  • [#issue3] ์ตœ์†Œ ๋น„์šฉ ์‹ ์žฅ ํŠธ๋ฆฌ(MST, Minimum Spanning Tree)
  • [#issue3-1] Prim MST ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • [#issue3-2] Kruskal MST ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • [#issue4] ์ตœ๋‹จ ๊ฒฝ๋กœ(Shortest Path)
  • [#issue4-1] Bellman-Ford ์•Œ๊ณ ๋ฆฌ์ฆ˜

๊ทธ๋ž˜ํ”„2(๋‹ค์ต์ŠคํŠธ๋ผ(Dijkstra), ํ”Œ๋กœ์ด๋“œ(Floyd-Warshall), SPFA(Shortest Path Faster))

โœ”๏ธ issue ์ •๋ฆฌ ๋‚ด์šฉ

  • [#issue1]

์‚ผ์„ฑ SW ์—ญ๋Ÿ‰ ํ…Œ์ŠคํŠธ

โœ”๏ธ ๊ธฐ์ถœ ๋ฌธ์ œ ์ •๋ฆฌ ๋‚ด์šฉ