/javascript-algorithm

๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (JavaScript Algorithm)

Primary LanguageJavaScript


JS Algorithm

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด


๋ชฉ์ฐจ

  1. ๊ธฐ๋ณธ๋ฌธ์ œ ํ’€์ด
  2. 1, 2์ฐจ์› ๋ฐฐ์—ด ํƒ์ƒ‰
  3. ๋ฌธ์ž์—ด ํƒ์ƒ‰
  4. ์™„์ „ํƒ์ƒ‰(๋ธ”๋ฃจํˆฌํฌ์Šค)
  5. ํšจ์œจ์„ฑ(ํˆฌํฌ์ธํ„ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์Šฌ๋ผ์ด๋”ฉ์œˆ๋„์šฐ, ํ•ด์‰ฌ)
  6. ์ž๋ฃŒ๊ตฌ์กฐ(์Šคํƒ, ํ)
  7. ์ •๋ ฌ๊ณผ ๊ทธ๋ฆฌ๋””, ๊ฒฐ์ •์•Œ๊ณ ๋ฆฌ์ฆ˜(์ด๋ถ„๊ฒ€์ƒ‰)
  8. ์žฌ๊ท€ํ•จ์ˆ˜์™€ ์™„์ „ํƒ์ƒ‰(DFS:๊นŠ์ด์šฐ์„ ํƒ์ƒ‰)
  9. ๊ทธ๋ž˜ํ”„์™€ ํƒ์ƒ‰(DFS, BFS:๋„“์ด ์šฐ์„ ํƒ์ƒ‰)
  10. Dynamic programming(๋™์ ๊ณ„ํš๋ฒ•)

'์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด' ์ธํ”„๋Ÿฐ ๊ฐ•์˜์—์„œ ์ œ๊ณตํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ๋จผ์ € ์ง์ ‘ ํ’€์–ด๋ณด๊ณ  ์ดํ›„ ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ๋” ํšจ์œจ์ ์ด๊ณ  ๋‹ค์–‘ํ•œ ํ’€์ด๋ฒ•์„ ์ตํž™๋‹ˆ๋‹ค.

์ „์ฒด์ ์ธ 1์ฐจ ํ’€์ด ํ›„ ๋” ํšจ์œจ์ ์ด๊ณ  ํด๋ฆฐํ•œ ์ฝ”๋“œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋„๋ก ๊ณ ๋ฏผํ•˜์—ฌ 2์ฐจ ํ’€์ด๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด

๐Ÿ”— '์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด' ์ธํ”„๋Ÿฐ ๊ฐ•์˜ ๋ฐ”๋กœ๊ฐ€๊ธฐ Click! ๐Ÿ‘ˆ

์ƒˆ ์ฐฝ ์—ด๊ธฐ ๋ฐฉ๋ฒ• : CTRL+click (on Windows and Linux) | CMD+click (on MacOS)


์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์ผ์ •

1์ฐจ ํ’€์ด (2021.07.29. ~ 2021.09.21.)
2์ฐจ ํ’€์ด (2021.09.22. ~ ing)


๊ธฐ๋ณธ๋ฌธ์ œ ํ’€์ด

๋ฒˆํ˜ธ ๋ฌธ์ œ JS ํ’€์ด ์ฝ”๋“œ 1์ฐจ ํ’€์ด 2์ฐจ ํ’€์ด
1 ์„ธ ์ˆ˜ ์ค‘ ์ตœ์†Œ๊ฐ’ JS 07.29. 09.22.
2 ์‚ผ๊ฐํ˜• ํŒ๋ณ„ํ•˜๊ธฐ JS 07.29. 09.22.
3 ์—ฐํ•„ ๊ฐœ์ˆ˜ JS 08.01. 09.22.
4 1๋ถ€ํ„ฐ N๊นŒ์ง€์˜ ํ•ฉ JS 08.01. 09.22.
5 ์ตœ์†Œ๊ฐ’ ๊ตฌํ•˜๊ธฐ JS 08.05. 09.22.
6 ํ™€์ˆ˜ JS 08.07. 09.23.
7 10๋ถ€์ œ JS 08.08. 09.23.
8 ์ผ๊ณฑ๋‚œ์Ÿ์ด JS 08.09. 09.23.
9 A๋ฅผ #์œผ๋กœ JS 08.10. 09.23.
10 ๋ฌธ์ž ์ฐพ๊ธฐ JS 08.11. 09.23.
11 ๋Œ€๋ฌธ์ž ์ฐพ๊ธฐ JS 08.12. 09.23.
12 ๋Œ€๋ฌธ์ž ํ†ต์ผ JS 08.13. 09.23.
13 ๋Œ€์†Œ๋ฌธ์ž ๋ณ€ํ™˜ JS 08.16. 09.24.
14 ๊ฐ€์žฅ ๊ธด ๋ฌธ์ž์—ด JS 08.16. 09.24.
15 ๊ฐ€์šด๋ฐ ๋ฌธ์ž ์ถœ๋ ฅ JS 08.17. 09.24.
16 ์ค‘๋ณต ๋ฌธ์ž ์ œ๊ฑฐ JS 08.18. 09.24.
17 ์ค‘๋ณต ๋‹จ์–ด ์ œ๊ฑฐ JS 08.18. 09.24

1, 2์ฐจ์› ๋ฐฐ์—ด ํƒ์ƒ‰

๋ฒˆํ˜ธ ๋ฌธ์ œ JS ํ’€์ด ์ฝ”๋“œ 1์ฐจ ํ’€์ด 2์ฐจ ํ’€์ด
1 ํฐ ์ˆ˜ ์ถœ๋ ฅํ•˜๊ธฐ JS 08.19. 09.25.
2 ๋ณด์ด๋Š” ํ•™์ƒ JS 08.19. 09.25.
3 ๊ฐ€์œ„๋ฐ”์œ„๋ณด JS 08.19. 09.25.
4 ์ ์ˆ˜ ๊ณ„์‚ฐ JS 08.19. 09.25.
5 ๋“ฑ์ˆ˜ ๊ตฌํ•˜๊ธฐ JS 08.19. 09.26.
6 ๊ฒฉ์žํŒ ์ตœ๋Œ€ํ•ฉ JS 08.19. 09.28.
7 ๋ด‰์šฐ๋ฆฌ JS 08.20. 09.28.

๋ฌธ์ž์—ด ํƒ์ƒ‰

๋ฒˆํ˜ธ ๋ฌธ์ œ JS ํ’€์ด ์ฝ”๋“œ 1์ฐจ ํ’€์ด 2์ฐจ ํ’€์ด
1 ํšŒ๋ฌธ๋ฌธ์ž์—ด JS 08.21. 09.29.
2 ์œ ํšจํ•œ ํŒฐ๋ฆฐ๋“œ๋กฌ JS 08.22. 09.29.
3 ์ˆซ์ž๋งŒ ์ถ”์ถœ JS 08.23. 09.29.
4 ๊ฐ€์žฅ ์งง์€ ๋ฌธ์ž๊ฑฐ๋ฆฌ JS 08.24. 09.30.
5 ๋ฌธ์ž์—ด ์••์ถ• JS 08.24. 10.01.

์™„์ „ํƒ์ƒ‰(๋ธ”๋ฃจํˆฌํฌ์Šค)

๋ฒˆํ˜ธ ๋ฌธ์ œ JS ํ’€์ด ์ฝ”๋“œ 1์ฐจ ํ’€์ด 2์ฐจ ํ’€์ด
1 ์ž๋ฆฌ์ˆ˜์˜ ํ•ฉ JS 08.25. 10.01
2 ๋’ค์ง‘์€ ์†Œ์ˆ˜ JS 08.26. 10.02.
3 ๋ฉ˜ํ† ๋ง JS 08.27. 10.03.
4 ์กธ์—…์„ ๋ฌผ JS 08.28. 10.04.
5 K๋ฒˆ์งธ ํฐ ์ˆ˜ JS 08.30. 10.05.

ํšจ์œจ์„ฑ(ํˆฌํฌ์ธํ„ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์Šฌ๋ผ์ด๋”ฉ์œˆ๋„์šฐ, ํ•ด์‰ฌ)

๋ฒˆํ˜ธ ๋ฌธ์ œ JS ํ’€์ด ์ฝ”๋“œ 1์ฐจ ํ’€์ด 2์ฐจ ํ’€์ด
1 ๋‘ ๋ฐฐ์—ด ํ•ฉ์น˜๊ธฐ JS 08.31. 10.06.
2 ๊ณตํ†ต์›์†Œ ๊ตฌํ•˜๊ธฐ JS 08.31. 10.07.
3 ์—ฐ์† ๋ถ€๋ถ„์ˆ˜์—ด1 JS 09.02. 10.07.
4 ์—ฐ์† ๋ถ€๋ถ„์ˆ˜์—ด2 JS 09.03. 10.14.
5 ์ตœ๋Œ€ ๋งค์ถœ JS 09.04. 10.16.
6 ํ•™๊ธ‰ ํšŒ์žฅ JS 09.05. 10.17.
7 ์•„๋‚˜๊ทธ๋žจ JS 09.05. 10.18.
8 ๋ชจ๋“  ์•„๋‚˜๊ทธ๋žจ ์ฐพ๊ธฐ JS 09.06. 10.18.

์ž๋ฃŒ๊ตฌ์กฐ(์Šคํƒ, ํ)

๋ฒˆํ˜ธ ๋ฌธ์ œ JS ํ’€์ด ์ฝ”๋“œ 1์ฐจ ํ’€์ด 2์ฐจ ํ’€์ด
1 ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ JS 09.06. 10.18.
2 ๊ด„ํ˜ธ ๋ฌธ์ž ์ œ๊ฑฐ JS 09.07. 10.18.
3 ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ JS 09.07. 10.20.
4 ํ›„์œ„์‹(postfix)์—ฐ์‚ฐ JS 09.07. 10.20.
5 ์‡ ๋ง‰๋Œ€๊ธฐ JS 09.08. 10.21.
6 ๊ณต์ฃผ ๊ตฌํ•˜๊ธฐ JS 09.08. 10.24.
7 ๊ต์œก๊ณผ์ • ์„ค๊ณ„ JS 09.10. 10.25.

์ •๋ ฌ๊ณผ ๊ทธ๋ฆฌ๋””, ๊ฒฐ์ •์•Œ๊ณ ๋ฆฌ์ฆ˜(์ด๋ถ„๊ฒ€์ƒ‰)

๋ฒˆํ˜ธ ๋ฌธ์ œ JS ํ’€์ด ์ฝ”๋“œ 1์ฐจ ํ’€์ด 2์ฐจ ํ’€์ด
1 ์„ ํƒ ์ •๋ ฌ JS 09.11. 10.26.
2 ๋ฒ„๋ธ” ์ •๋ ฌ JS 09.12. 10.27.
3 Special Sort(๋ฒ„๋ธ” ์ •๋ ฌ์‘์šฉ) JS 09.12. 10.27.
4 ์‚ฝ์ž… ์ •๋ ฌ JS 09.13. 10.28.
5 LRU(์บ์‹œ ๋ณ€ํ˜•) JS 09.13. -
6 ์žฅ๋‚œ๊พธ๋Ÿฌ๊ธฐ ํ˜„์ˆ˜ JS 09.13. 10.29.
7 ์ขŒํ‘œ ์ •๋ ฌ JS 09.13. 10.29.
8 ํšŒ์˜์‹ค ๋ฐฐ์ • JS 09.14. 10.29.
9 ๊ฒฐํ˜ผ์‹ JS 09.14. 11.01.
10 ์ด๋ถ„ ๊ฒ€์ƒ‰ JS 09.14. 11.02.
11 ๋ฎค์ง๋น„๋””์˜ค JS 09.15. 11.04.
12 ๋งˆ๊ตฌ๊ฐ„ ์ •ํ•˜๊ธฐ JS 09.16. 11.05.

์žฌ๊ท€ํ•จ์ˆ˜์™€ ์™„์ „ํƒ์ƒ‰(DFS:๊นŠ์ด์šฐ์„ ํƒ์ƒ‰)

๋ฒˆํ˜ธ ๋ฌธ์ œ JS ํ’€์ด ์ฝ”๋“œ 1์ฐจ ํ’€์ด 2์ฐจ ํ’€์ด
1 ์žฌ๊ท€ํ•จ์ˆ˜ JS 09.17. 11.06.
2 ์ด์ง„์ˆ˜ ์ถœ๋ ฅ JS 09.17. 11.20.
3 ์ด์ง„ ํŠธ๋ฆฌ ์ˆœํšŒ JS 09.17. 11.20.
4 ๋ถ€๋ถ„์ง‘ํ•ฉ ๊ตฌํ•˜๊ธฐ JS 09.17. 12.05.
5 ํ•ฉ์ด ๊ฐ™์€ ๋ถ€๋ถ„์ง‘ํ•ฉ JS 09.17. 12.06.
6 ๋ฐ”๋‘‘์ด ์Šน์ฐจ JS 09.17. 12.07.
7 ์ตœ๋Œ€ ์ ์ˆ˜ ๊ตฌํ•˜๊ธฐ JS 09.17. 12.09.
8 ์ค‘๋ณต์ˆœ์—ด ๊ตฌํ•˜๊ธฐ JS 09.19. 12.09.
9 ๋™์ „๊ตํ™˜ JS 09.19. 12.10.
10 ์ˆœ์—ด ๊ตฌํ•˜๊ธฐ JS 09.19. 12.11.
11 ํŒฉํ† ๋ฆฌ์–ผ JS 09.19. 12.13.
12 ์กฐํ•ฉ์ˆ˜(๋ฉ”๋ชจ์ด์ œ์ด์…˜) JS 09.19. 12.14.
13 ์ˆ˜์—ด ์ถ”์ธกํ•˜๊ธฐ JS 09.19. -
14 ์กฐํ•ฉ ๊ตฌํ•˜๊ธฐ JS 09.19. 03.03.
15 ์ˆ˜๋“ค์˜ ์กฐํ•ฉ JS 09.19. 03.04.

๊ทธ๋ž˜ํ”„์™€ ํƒ์ƒ‰(DFS, BFS:๋„“์ด ์šฐ์„ ํƒ์ƒ‰)

๋ฒˆํ˜ธ ๋ฌธ์ œ JS ํ’€์ด ์ฝ”๋“œ 1์ฐจ ํ’€์ด 2์ฐจ ํ’€์ด
1 ๊ฒฝ๋กœ ํƒ์ƒ‰(DFS-์ธ์ ‘ํ–‰๋ ฌ) JS 09.19. 03.04.
2 ๊ฒฝ๋กœ ํƒ์ƒ‰(DFS-์ธ์ ‘๋ฆฌ์ŠคํŠธ) JS 09.20. 03.05.
3 ๋ฏธ๋กœํƒ์ƒ‰(DFS) JS 09.20. 03.05.
4 ์ด์ง„ํŠธ๋ฆฌ ๋„“์ด์šฐ์„ ํƒ์ƒ‰(BFS) JS 09.20. 03.08.
5 ์†ก์•„์ง€ ์ฐพ๊ธฐ JS 09.20. 03.17.
6 ์„ฌ๋‚˜๋ผ ์•„์ผ๋žœ๋“œ JS 09.21. -

Dynamic programming(๋™์ ๊ณ„ํš๋ฒ•)

๋ฒˆํ˜ธ ๋ฌธ์ œ JS ํ’€์ด ์ฝ”๋“œ 1์ฐจ ํ’€์ด 2์ฐจ ํ’€์ด
1 ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ JS 09.21. 03.15.
2 ๋Œ๋‹ค๋ฆฌ ๊ฑด๋„ˆ๊ธฐ JS 09.21. 03.15.
3 ์ตœ๋Œ€ ๋ถ€๋ถ„ ์ฆ๊ฐ€์ˆ˜์—ด JS 09.21. 03.17.
4 ๋™์ „๊ตํ™˜ JS 09.21. -
5 ์ตœ๋Œ€์ ์ˆ˜ ๊ตฌํ•˜๊ธฐ JS 09.21. -