/CS-study

๐ŸŒŽ ์ง„์ •ํ•œ ์ปดํ“จํ„ฐ๊ณตํ•™๋„๊ฐ€ ๋˜๊ธฐ ์œ„ํ•œ ์šฐ๋ฆฌ๋“ค์˜ ์ง€์‹ ์ •๋ฆฌ ๊ณต๊ฐ„ ๐Ÿ’ฅ

Primary LanguageJavaMIT LicenseMIT

Basic Knowledge of Computer Science

Since 2020.09.04

coding

Table of Contents

About

์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ CS ๊ธฐ์ดˆ ์ง€์‹์˜ ์ด๋ก ๋ถ€ํ„ฐ ๊ตฌํ˜„๊นŒ์ง€, ์ปดํ“จํ„ฐ๊ณตํ•™ ์ „๊ณต์ž ๋ฐ ์˜ˆ๋น„ ๊ฐœ๋ฐœ์ž๋กœ์„œ ์•Œ์•„์•ผ ํ•  ํ•„์ˆ˜ ์ „๊ณต ์ง€์‹๋“ค์„ ๊ณต๋ถ€ํ•˜๊ณ  ๊ธฐ๋กํ•œ ์ €์žฅ์†Œ์ž…๋‹ˆ๋‹ค. ๋งค์ฃผ ์Šคํ„ฐ๋””ํ•œ ํ”์ ์ธ ๋ฐœํ‘œ ์ž๋ฃŒ๋“ค์ด ์—…๋กœ๋“œ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๋” ๋‚˜์•„๊ฐ€ ๊ธ€๋กœ, ์งˆ์˜์‘๋‹ต ํ˜•ํƒœ๋กœ ๋ฌธ์„œํ™”ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

Repository Rule

CS-study Repo ๊ฐ€์ด๋“œ

  • ์ฃผ์ œ๋ณ„ ์ •๋ฆฌ : ์ด๋ก ์ •๋ฆฌ, ๊ตฌํ˜„, ์ž๋ฃŒ์—…๋กœ๋“œ, ์งˆ์˜์‘๋‹ต
  • Commit convention rule : [๋Œ€์ฃผ์ œ] ์†Œ์ฃผ์ œ ๋ถ„๋ฅ˜(์ด๋ก ์ •๋ฆฌ/๊ตฌํ˜„/...) ex) [DataStructure] Stack ์ž๋ฃŒ์ •๋ฆฌ
  • Branch naming convention : ๋Œ€์ฃผ์ œ/๋‹‰๋„ค์ž„ ex) DataStructure/Nickname

Collaborator

Reference

Data Structure (์ž๋ฃŒ๊ตฌ์กฐ)

๊ธฐ๋ณธ ์ž๋ฃŒ ๊ตฌ์กฐ

  • Array
  • Linked List
  • Stack
  • Queue
  • Tree
  • Binary Tree
  • Graph

์‘์šฉ ์ž๋ฃŒ ๊ตฌ์กฐ

  • Deque
  • Heap & Priority Queue
  • Indexed Tree (Segment Tree)
  • Trie

๐Ÿ” ๋ชฉ์ฐจ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

Algorithm (์•Œ๊ณ ๋ฆฌ์ฆ˜)

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ๋ณธ

  • ์‹œ๊ฐ„๋ณต์žก๋„์™€ ๊ณต๊ฐ„๋ณต์žก๋„
  • ์™„์ „ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (Brute Force)
    • DFS์™€ BFS
    • ์ˆœ์—ด, ์กฐํ•ฉ, ๋ถ€๋ถ„์ง‘ํ•ฉ
  • ๋ฐฑํŠธ๋ž˜ํ‚น (Backtracking)
  • ๋ถ„ํ•  ์ •๋ณต๋ฒ• (Divide and Conquer)
  • ํƒ์š• ์•Œ๊ณ ๋ฆฌ์ฆ˜ (Greedy)
  • ๋™์  ๊ณ„ํš๋ฒ• (Dynamic Programming)

์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‘์šฉ

  • ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ๊ทธ๋ž˜ํ”„
    • ์ตœ๋‹จ ๊ฒฝ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • Union Find & Kruskal
  • ๋‘ ํฌ์ธํ„ฐ (two-pointer)
  • ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • KMP ์•Œ๊ณ ๋ฆฌ์ฆ˜

๐Ÿ” ๋ชฉ์ฐจ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

Operating System (์šด์˜์ฒด์ œ)

  • ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ
  • ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค์™€ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ
  • ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„๋ง
  • CPU ์Šค์ผ€์ค„๋ง
  • ๋™๊ธฐ์™€ ๋น„๋™๊ธฐ์˜ ์ฐจ์ด
  • ํ”„๋กœ์„ธ์Šค ๋™๊ธฐํ™”
  • ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์ „๋žต
  • ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ
  • ์บ์‹œ

๐Ÿ” ๋ชฉ์ฐจ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

Database (๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค)

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
  • ์ •๊ทœํ™”
  • Index
  • Transaction
  • NoSQL

๐Ÿ” ๋ชฉ์ฐจ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

Network (๋„คํŠธ์›Œํฌ)

  • OSI 7 ๊ณ„์ธต
  • TCP 3-way-handshake & 4-way-handshake
  • TCP ์™€ UDP
  • HTTP ์š”์ฒญ ๋ฐฉ์‹ - GET, POST
  • HTTP ์™€ HTTPS
  • DNS round robin ๋ฐฉ์‹
  • ์›น ํ†ต์‹ ์˜ ํฐ ํ๋ฆ„

๐Ÿ” ๋ชฉ์ฐจ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

Design Pattern (๋””์ž์ธ ํŒจํ„ด)

  • ๋””์ž์ธ ํŒจํ„ด์˜ ๊ฐœ๋…๊ณผ ์ข…๋ฅ˜
  • Singleton ํŒจํ„ด
  • Factory ํŒจํ„ด
  • MVC ํŒจํ„ด

๐Ÿ” ๋ชฉ์ฐจ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

Software Engineering (์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™)

  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„
    • ๋ช…๋ นํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ vs ์„ ์–ธํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ
    • ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ
    • ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
  • ์• ์ž์ผ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค

๐Ÿ” ๋ชฉ์ฐจ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

Language

  • Java
  • C++

๐Ÿ” ๋ชฉ์ฐจ๋กœ ๋Œ์•„๊ฐ€๊ธฐ