AnneMayor / algorithmstudy

:computer: Repo for practicing algorithm and data structure:blush:

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

๐ŸŒŸ algorithmstudy ๐ŸŒŸ

๊ฐœ์ธ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์Šคํ„ฐ๋”” ์ •๋ณด ๋ฐ ์ž๋ฃŒ ๊ณต์œ (์†Œ์Šค์ฝ”๋“œ, ๊ฐœ๋… ์„ค๋ช… ๋“ฑ ํฌํ•จ) ์‚ฌ์šฉ์–ธ์–ด: C/C++ ์ปดํŒŒ์ผ๋Ÿฌ: Xcode, Visual Studio Code, Visual Studio 2013(Windows10)

๐Ÿ“š ์ž๋ฃŒ๊ตฌ์กฐ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ•„์ˆ˜ ๊ฐœ๋…์ •๋ฆฌ

  1. ์‹œ๊ฐ„๋ณต์žก๋„(Time Complexity)
  • ์ •์˜: ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆ˜ํ–‰์‹œ๊ฐ„
  • ๊ณ„์‚ฐ๋ฒ•: ๊ธฐ๋ณธ์ ์œผ๋ก , ํ”„๋กœ๊ทธ๋žจ์˜ ์—ฐ์‚ฐํšŸ์ˆ˜(์‹คํ–‰ํ•จ์ˆ˜๊ฐœ์ˆ˜)๋ฅผ ์„ธ๋ฉด ๋œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋น…์˜ค(O(n)) ํ‘œ๊ธฐ๋ฒ•์„ ํ™œ์šฉํ•˜์—ฌ ์ตœ์•…์˜ ์ผ€์ด์Šค ์‹œ๊ฐ„๋ณต์žก๋„(worst case time complexity)๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.
  • ์˜ˆ์‹œ: for๋ฌธ = O(n) / ์ด์ค‘for๋ฌธ = O(n) or O(nlogN) ... / ์žฌ๊ท€ํ•จ์ˆ˜ = T(n) <= c*n -> O(n)
  • ์ฐธ๊ณ : https://jhnah917.tistory.com/41 (์žฌ๊ท€ํ•จ์ˆ˜์˜ ์‹œ๊ฐ„๋ณต์žก๋„)
  1. ๊ณต๊ฐ„๋ณต์žก๋„(Space Complexity)
  • ์ •์˜: ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰
  • ๊ณ„์‚ฐ๋ฒ•: ๊ธฐ๋ณธ์ ์œผ๋กœ, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ธก์ •ํ•˜๋ฉด ๋œ๋‹ค. ์‹œ๊ฐ„๋ณต์žก๋„์— ๋น„ํ•ด ์ค‘์š”์‹œํ•˜๊ฒŒ ์ƒ๊ฐ๋˜๋Š” ๋ถ€๋ถ„์€ ์•„๋‹ˆ๋‚˜ ๋งŒ์ผ ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ ํ˜„์ƒ์ด ๋‚˜ํƒ€๋‚˜๋ฉด ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์ด ์•ˆ๋œ๋‹ค.
  • ์˜ˆ์‹œ: 1,2์ฐจ์› ๋ฐฐ์—ดํฌ๊ธฐ ๋ฐ ๋ณ€์ˆ˜(O(1))
  1. ์ž๋ฃŒ๊ตฌ์กฐ(Data Structure)
  • ์„ ํ˜•์ž๋ฃŒ๊ตฌ์กฐ(Linear): ์Šคํƒ(Stack) / ํ(Queue)
  • ํŠธ๋ฆฌ: ์ž๋ฃŒ๋ฅผ ๋‹ด๊ธฐ ์œ„ํ•œ ํ•˜๋‚˜์˜ ๊ตฌ์กฐ์ฒด. ์–ด๋–ค ์ž๋ฃŒ๊ฐ€ ๋“ค์–ด์žˆ๋Š”์ง€ ์•Œ๊ธฐ ์œ„ํ•ด ์ˆœํšŒํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ค‘์š”์‹œํ•˜๊ฒŒ ์•Œ๊ณ  ์žˆ์–ด์•ผํ•จ. (์šฐ์„ ์ˆœ์œ„ ํ ๊ตฌํ˜„ ์‹œ, ์‹œ๊ฐ„๋ณต์žก๋„ ๊ฐœ์„ ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ = ํž™)
  • ๊ทธ๋ž˜ํ”„: ์ž๋ฃŒ๋“ค๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ž๋ฃŒ๊ตฌ์กฐ. ์ •์ (Vertex)๊ณผ ๊ฐ„์„ (Edge)๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ์Œ. ๊ทธ๋ž˜ํ”„์—๋Š” ํฌ๊ฒŒ ๋ฌด๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์™€ ๋‹จ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„๋กœ ๋‚˜๋‰˜์–ด์ง. ๊ฐ ์ •์ ์˜ ๊ฐ„์„  ๊ฐœ์ˆ˜์— ๋”ฐ๋ผ ์ฐจ์ˆ˜(degree)๊ฐ€ ๋‹ค๋ฆ„. ๊ทธ๋ž˜ํ”„ ๊ตฌํ˜„ ์‹œ, ์ธ์ ‘ํ–‰๋ ฌ๊ณผ ์ธ์ ‘๋ฆฌ์ŠคํŠธ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฐ€๋Šฅ.
  • ๋ฆฌ์ŠคํŠธ(List):
  • ํž™(Heap):
  • ํ•ด์‹œ(Hash):
  1. ์ •๋ ฌ(Sorting) *์ฝ”๋“œ๊ตฌํ˜„ ํ•„์ˆ˜ | ์‹œ๊ฐ„๋ณต์žก๋„ = O(n^2)
  • ์„ ํƒ์ •๋ ฌ(Selection Sort): ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜๋ฅผ ๋ฐฐ์—ด์—์„œ ์ฐพ์•„ ์™ผ์ชฝ์œผ๋กœ ํ•˜๋‚˜์”ฉ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•(์˜ค๋ฆ„์ฐจ์ˆœ ๊ธฐ์ค€)
  • ์‚ฝ์ž…์ •๋ ฌ(Insertion Sort): ์™ผ์ชฝ์€ ์ •๋ ฌ๋œ ๋ฐฐ์—ด๋กœ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ•œ ์นธ์”ฉ ๊ฐ€๋ฉด์„œ ์ •๋ ฌ๋œ ์™ผ์ชฝ ๋ฐฐ์—ด์—์„œ ๋“ค์–ด๊ฐ€์•ผํ•˜๋Š” ์œ„์น˜ ์ฐพ์•„ ๋„ฃ๋Š” ๋ฐฉ๋ฒ•
  • ๋ฒ„๋ธ”์ •๋ ฌ(Bubble Sort): ์ธ์ ‘ํ•œ ์›์†Œ๋ฅผ ์ฐจ๋ก€๋กœ ๋น„๊ตํ•˜์—ฌ ํฐ ์ˆ˜๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•(์˜ค๋ฅธ์ชฝ์ด ์ •๋ ฌ๋œ ๋ฐฐ์—ด์ƒํƒœ)
  • ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด(Sieve of Eratosthenes): ํŠน์ • ๋ฒ”์œ„์˜ ์ˆ˜๊นŒ์ง€ ์†Œ์ˆ˜๋ฅผ ํŒ๋ณ„ํ•ด๋‚ด๋Š” ๋ฐฉ๋ฒ•(์†Œ์Šค์ฝ”๋“œ ์ฐธ์กฐ)

4-1. ๊ณ ๊ธ‰์ •๋ ฌ *์ฝ”๋“œ๊ตฌํ˜„ ํ•„์ˆ˜ | ์‹œ๊ฐ„๋ณต์žก๋„ = O(nlogN)

  • 4๋ฒˆ ์ •๋ ฌ๋ฐฉ๋ฒ•์—์„œ ์‹œ๊ฐ„๋ณต์žก๋„ ๊ฐœ์„ ์„ ์œ„ํ•œ ์ •๋ ฌ๋ฐฉ๋ฒ•
  • ํ€ต์ •๋ ฌ(QuickSort): pivot๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ pivot๋ณด๋‹ค ์ž‘์€ ๊ฐ’์„ ์™ผ์ชฝ์œผ๋กœ pivot๋ณด๋‹ค ํฐ ๊ฐ’์„ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋„ฃ๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ pivot์˜ ์œ„์น˜๋ฅผ ์ •ํ•˜๋Š” ๊ณผ์ •์„ n/2๋งŒํผ ์ˆ˜ํ–‰. ๋”ฐ๋ผ์„œ, ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(nlogN).
  • ํ•ฉ๋ณ‘์ •๋ ฌ(MergeSort): ์ฃผ์–ด์ง„ ๋ฐฐ์—ด์„ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆˆ ํ›„, ์™ผ์ชฝ๊ณผ ์˜ค๋ฅธ์ชฝ ๋ฐฐ์—ด ์ •๋ ฌ์„ ๊ฐ๊ฐ ํ–‰ํ•œ ํ›„ ์ด๋ฅผ ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๋Š” ์ˆ˜ํ–‰. ์‹œ๊ฐ„๋ณต์žก๋„๋Š” T(n) = 2*T(n/2) + O(n)์ด๋ฏ€๋กœ O(nlogN)
  1. ์•Œ๊ณ ๋ฆฌ์ฆ˜(algorithm)
  • DP(๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ): ๋ฐ˜๋ณต๋˜๋Š” ์žฌ๊ท€ํ•จ์ˆ˜ ํ˜ธ์ถœ์—์„œ ์ €์žฅ๊ณต๊ฐ„์„ ๋งŒ๋“ค์–ด ๋ฐ˜๋ณต๋ถ€๋ถ„์„ ์ €์žฅํ•˜์—ฌ ๋ถ€๋ถ„๋ฌธ์ œ๋ฅผ ํ†ตํ•ด ์ „์ฒด๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜. ํ”ํžˆ, ๋ฌธ์ œ์—์„œ ์ ํ™”์‹์„ ์ฐพ์•„๋‚ด์–ด ํ•ด๊ฒฐํ•œ๋‹ค. ** ๋Œ€ํ‘œ์ ์ธ ์˜ˆ: ์ตœ์žฅ์ฆ๊ฐ€๋ถ€๋ถ„์ˆ˜์—ด, ์ตœ์žฅ๊ณตํ†ต๋ถ€๋ถ„์ˆ˜์—ด, knapsack
  • two-pointer ๊ธฐ๋ฒ•: start, end index๋ฅผ ๋งŒ๋“ค์–ด ๊ฐ๊ฐ์˜ ์กฐ๊ฑด์— ๋”ฐ๋ผ start ํ˜น์€ end index๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๋ฉฐ ๋‹ต์„ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•.
  1. ํƒ์ƒ‰(Search)
  • ์ด์ง„ํƒ์ƒ‰(Binary Search):
  • ๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰(BFS): ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘ ๊ทธ๋ž˜ํ”„ ์ˆœํšŒ๋ฐฉ๋ฒ• ์ค‘ ํ•œ๊ฐ€์ง€๋กœ ํ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœํšŒํ•œ๋‹ค. DFS์™€๋Š” ๋‹ฌ๋ฆฌ, ์ธ์ ‘ ๋ฆฌ์ŠคํŠธ์— ์ €์žฅ๋œ ๊ฐ๊ฐ์˜ ์ธ์ ‘ํ•œ ๋…ธ๋“œ๋ฅผ ๋จผ์ € ๋ฐฉ๋ฌธํ•˜์—ฌ ํƒ์ƒ‰์„ ์‹œ์ž‘.
  • ๊นŠ์ด์šฐ์„ ํƒ์ƒ‰(DFS): ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘ ๊ทธ๋ž˜ํ”„ ์ˆœํšŒ๋ฐฉ๋ฒ• ์ค‘ ํ•œ๊ฐ€์ง€๋กœ ์ธ์ ‘ ๋ฆฌ์ŠคํŠธ๋กœ ๊ทธ๋ž˜ํ”„ ์ž๋ฃŒ๊ตฌ์กฐ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœํšŒํ•œ๋‹ค. ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(V+2*E) = O(V+E) ๊ตฌํ˜„ํ•  ๋•Œ์—๋Š” ์Šคํƒ ์ž๋ฃŒ๊ตฌ์กฐ๋„ ํ™œ์šฉ.(์žฌ๊ท€ํ˜ธ์ถœ)
  • ** Backtracking: ์™„์ „ํƒ์ƒ‰์„ ์‹คํ–‰ํ•˜๋Š” ๊นŠ์ด์šฐ์„ ํƒ์ƒ‰(DFS)๊ณผ ๋‹ฌ๋ฆฌ, ๋น„ํšจ์œจ์ ์ธ ๊ฒฝ๋กœ๋ฅผ ์ฐจ๋‹จํ•˜๊ณ  ๋ชฉํ‘œ์ง€์ ์— ๋„๋‹ฌํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ๋ฒ•. DFS+Pruning(๊ฐ€์ง€์น˜๊ธฐ)๋ฅผ ํ†ตํ•ด ๊ฐ€๋„๋˜์ง€์•Š๋Š” ๋ฃจํŠธ๋ฅผ ์ œ์™ธ์‹œํ‚ด.(๋Œ€ํ‘œ์˜ˆ์ œ: N-Queen๋ฌธ์ œ)
  1. ๊ทœ์น™์ฐพ๊ธฐ
  • ์‚ผ์„ฑ Advanced Level ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‹œํ—˜๋ฌธ์ œ์—์„œ ์ž์ฃผ ์ถœ์ œ๋˜๋Š” ์œ ํ˜•.
  • ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์ œ: 1011 Fly me to the Alpha Centauri, 1016 ์ œ๊ณฑใ„ดใ„ด์ˆ˜, 1019 ์ฑ…ํŽ˜์ด์ง€, 1052 ๋ฌผ๋ณ‘
  1. ๊ทธ๋ž˜ํ”„
  • DFS์™€ BFS: ๊นŠ์ด์šฐ์„ ํƒ์ƒ‰(์žฌ๊ท€ํ•จ์ˆ˜)๊ณผ ๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰(Queue)
  • ์ตœ๋‹จ๊ฒฝ๋กœ ๊ตฌํ•˜๊ธฐ: ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜(์–‘์ˆ˜ ๊ฐ€์ค‘์น˜์—์„œ๋งŒ ์‚ฌ์šฉ๊ฐ€๋Šฅ), Bellman-Ford ์•Œ๊ณ ๋ฆฌ์ฆ˜(์Œ์ˆ˜ ๊ฐ€์ค‘์น˜์—์„œ๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)
  • ์ตœ๋‹จ๊ฒฝ๋กœ๊ตฌํ•˜๊ธฐ: ์ตœ์†Œ์ŠคํŒจ๋‹ํŠธ๋ฆฌ(MST) ๊ฐœ๋… ๋“ฑ์žฅ. ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” Kruskal ์•Œ๊ณ ๋ฆฌ์ฆ˜(์‹œ๊ฐ„๋ณต์žก๋„: O(ElogE))๊ณผ Prim ์•Œ๊ณ ๋ฆฌ์ฆ˜(์‹œ๊ฐ„๋ณต์žก๋„: O(V^2+E))์ด ์žˆ์Œ. Prim์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ฒฝ์šฐ, ๊ทธ๋ž˜ํ”„ ์ •์  ์‚ฌ์ด์— ๊ฐ„์„ ์ด ๋ฐ€์ง‘๋˜์–ด์žˆ์„ ๋•Œ Kruskal๋ณด๋‹ค ํšจ์œจ์„ฑ์ด ์ข‹์Œ. ์ •๋‹น์„ฑ ์ฆ๋ช… ๋ฐฉ๋ฒ•์˜ ๊ฒฝ์šฐ, ์–ด๋–ค ๊ฐ„์„  (u, v)๋ฅผ ์ง€๋‚˜์ง€ ์•Š๋Š” ์ตœ์†Œ ์ŠคํŒจ๋‹ ํŠธ๋ฆฌ๊ฐ€ ์žˆ๋‹ค๋Š” ์ „์ œํ•˜์— ์‹œ์ž‘.
  1. ํŠธ๋ผ์ด (์ถ”ํ›„ ์ถ”๊ฐ€์˜ˆ์ •)

  2. ๋ฌธ์ž์—ด

  • KMP ์•Œ๊ณ ๋ฆฌ์ฆ˜: ์ผ๋ฐ˜์ ์œผ๋กœ ์›น๋ธŒ๋ผ์šฐ์ ธ์—์„œ ํŠน์ •๋‹จ์–ด ํฌํ•จ ๋ฌธ์ž์—ด ๋น ๋ฅธ ๊ฒ€์ƒ‰ ์‹œ ํ™œ์šฉ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜. Pi[] ๋ฐฐ์—ด์„ ํ™œ์šฉํ•˜์—ฌ ์ฐพ๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ž์—ด์— ๋ฐ˜๋ณต๋˜๋Š” ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋  ๊ฒฝ์šฐ, ๋ฐ˜๋ณต ์œ„์น˜์™€ ๋ฌธ์ž ์ €์žฅ. ์‹œ๊ฐ„๋ณต์žก๋„: O(N+M)=>๊ฐ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด์˜ ํ•ฉ
  • ๋ผ๋นˆ ์นดํ”„ ์•Œ๊ณ ๋ฆฌ์ฆ˜:
  1. ๋น„ํŠธ์—ฐ์‚ฐ์ž
  • ์‹ค์ œ ์‹œ๋ฌผ๋ ˆ์ด์…˜ ๋ฌธ์ œ์—์„œ ์œ ์šฉํ•˜๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ปดํ“จํ„ฐ ์—ฐ์‚ฐ์žฅ์น˜. &(๊ต์ง‘ํ•ฉ), |(ํ•ฉ์ง‘ํ•ฉ), ^(์ฐจ์ง‘ํ•ฉ) ๋“ฑ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Œ. Low ๋ ˆ๋ฒจ๋‹จ์—์„œ ๋งŽ์ด ํ™œ์šฉํ•˜๋Š” ์—ฐ์‚ฐ(์ž„๋ฒ ๋””๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ)
  • ์˜ˆ์‹œ: 2020 ์นด์นด์˜ค ๋ธ”๋ผ์ธ๋“œ No.5 ๊ธฐ๋‘ฅ๊ณผ ๋ณด ์„ค์น˜, 2018 ์นด์นด์˜ค ๋ธ”๋ผ์ธ๋“œ No. 3 ํ›„๋ณดํ‚ค
  1. Segment Tree (์ถ”ํ›„ ์ถ”๊ฐ€์˜ˆ์ •)

  2. ํˆฌํฌ์ธํ„ฐ

  • Simulation(๊ตฌํ˜„) ๋ฌธ์ œ์—์„œ ๊ธฐ๋ณธ์ด ๋˜๋Š” ๊ฐœ๋…. ์›๋ฆฌ๋Š” ์ •๋ ฌ๋œ ๋ฐฐ์—ด์˜ ์•ž, ๋’ค ๋‘ ๊ฐœ์˜ ์ธ๋ฑ์Šค(ํฌ์ธํ„ฐ)๋ฅผ ์„ค์ •ํ•˜์—ฌ ๊ฐ ์ธ๋ฑ์Šค์— ํ•ด๋‹นํ•˜๋Š” ๋ฐฐ์—ด๊ฐ’์œผ๋กœ ์—ฐ์‚ฐํ•œ ๊ฒฐ๊ณผ์™€ ์ฃผ์–ด์ง„ ๊ธฐ์ค€์˜ ์ฐจ๊ฐ€ ์–ผ๋งˆ์ธ๊ฐ€์— ๋”ฐ๋ผ ํฌ์ธํ„ฐ ์ด๋™์„ ํ•˜๋Š” ๋ฐฉ์‹.(ํˆฌ ํฌ์ธํ„ฐ ๊ฐ’์˜ ํ•ฉ - ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ์ˆซ์ž > 0์ด๋ฉด, ๋’ค์˜ ํฌ์ธํ„ฐ๋ฅผ ํ•˜๋‚˜ ์•ž์œผ๋กœ ์ด๋™. ๊ทธ ๋ฐ˜๋Œ€๋ฉด ์•ž์˜ ํฌ์ธํ„ฐ๋ฅผ ํ•˜๋‚˜ ๋’ค๋กœ ์ด๋™)

๐Ÿ’ป ์‹ค์ „๋ฌธ์ œ

๐Ÿฅ‡ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋Œ€ํšŒ

๐Ÿ‘€ ์ฐธ๊ณ ์ž๋ฃŒ

  • 10158 ๊ฐœ๋ฏธ(๋ฐฑ์ค€) : https://hanstemcell.tistory.com/entry/%EB%B0%B1%EC%A4%80-%EA%B0%9C%EB%AF%B8?category=672485
  • 1963 ์†Œ์ˆ˜ ๊ฒฝ๋กœ(๋ฐฑ์ค€) : https://lmcoa15.tistory.com/63
  • 2580 ์Šค๋„์ฟ (๋ฐฑ์ค€) : https://dongyeollee.github.io/2018/09/03/Al/2580/
  • 6549 ํžˆ์Šคํ† ๊ทธ๋žจ์—์„œ ๊ฐ€์žฅ ํฐ ์ง์‚ฌ๊ฐํ˜•(๋ฐฑ์ค€) : https://greeksharifa.github.io/ps/2018/07/07/PS-06549/
  • 13144 List of Unique Numbers(๋ฐฑ์ค€) : ์žฌ๊ท€ํ•จ์ˆ˜๋กœ ํ’€๋ฉด, ์‹œ๊ฐ„์ดˆ๊ณผ ๋œธ. ์ด ๋ฌธ์ œ๋Š” two-pointer ๊ธฐ๋ฒ•์„ ์ ์šฉํ•˜์—ฌ ํ’€์–ด์•ผ ํ•จ. http://blog.naver.com/PostView.nhn?blogId=programmer18&logNo=220876732845
  • 3032 ํ™์ค€์ด์˜์ˆซ์ž๋†€์ด D3(SWExpertAcademy) : ํ™•์žฅ๋œ ์œ ํด๋ฆฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ™œ์šฉ(https://brilliant.org/wiki/extended-euclidean-algorithm/)
  • 1011 Fly me to the Alpha Centauri(๋ฐฑ์ค€) : ๊ทœ์น™์ฐพ๊ธฐ ์—ฐ์Šต๋ฌธ์ œ(https://www.acmicpc.net/board/view/13747) => ๋ฌธ์ œ ํ’€๊ธฐ ์ „ ๋ฐ˜๋“œ์‹œ ์ฒดํฌํ•ด์•ผํ•  ๋‚ด์šฉ: https://www.acmicpc.net/board/view/26059
  • 1016 ์ œ๊ณฑใ„ดใ„ด์ˆ˜(๋ฐฑ์ค€): ์‹œ๊ฐ„์ดˆ๊ณผ๋‚˜๋Š” ๋ฌธ์ œ๋ฅผ ๊ทœ์น™์„ ์ฐพ์•„ ๊ฐ„๊ฒฐํ•œ ์ฝ”๋“œ๋กœ ์ •๋ฆฌ ๊ฐ€๋Šฅ!(https://wootool.tistory.com/39)
  • 1019 ์ฑ…ํŽ˜์ด์ง€(๋ฐฑ์ค€): ๋‚˜์ค‘์— ๋‹ค์‹œ ํ’€์–ด๋ด์•ผํ•  ๋ฌธ์ œlist ์ค‘ ํ•˜๋‚˜.(https://jm25.tistory.com/53)
  • 1052 ๋ฌผ๋ณ‘(๋ฐฑ์ค€): ์žฌ๊ท€ํ•จ์ˆ˜๋กœ ์งค ๊ฒฝ์šฐ, ์‹œ๊ฐ„์ดˆ๊ณผ๋‚˜๋Š” ๋ฌธ์ œ. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ๋ฌธ์ œ์—์„œ ๊ทœ์น™์„ ์ฐพ์•„ ํšจ์œจ์ ์ธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ํ•„์š”๋กœ ํ•˜๋Š” ๋ฌธ์ œ.(https://yabmoons.tistory.com/199)
  • 1992 ์ฟผ๋“œํŠธ๋ฆฌ(๋ฐฑ์ค€): ์žฌ๊ท€ํ•จ์ˆ˜ ์„ค๊ณ„ ์‹œ, x์™€ y์ขŒํ‘œ๋„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋„ฃ์–ด์ค˜์•ผํ•œ๋‹ค.(https://jaimemin.tistory.com/1072)
  • 1074 Z(๋ฐฑ์ค€) : ์žฌ๊ท€ํ•จ์ˆ˜ ์‹œ๊ฐ„์ดˆ๊ณผ ์—ฐ์Šตํ•˜๊ธฐ ์ข‹์€ ๋ฌธ์ œ. ์žฌ๊ท€ํ•จ์ˆ˜ ๊ธฐ์ €์กฐ๊ฑด์„ ์ฐพ๊ณ ์ž ํ•˜๋Š” ์œ„์น˜์˜ ์ขŒํ‘œ๋กœ ๋†“๊ณ  ์ƒ๊ฐํ•ด๋ณด๋Š” ๋ฌธ์ œ๋‹ค!(https://sanghoon3018.tistory.com/49)
  • 2263 ํŠธ๋ฆฌ์˜์ˆœํšŒ(๋ฐฑ์ค€) : ํŠธ๋ฆฌ์˜ ์ •๋ ฌ์ˆœ์„œ์™€ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•œ ๋ฌธ์ œ. ์ •๋ ฌ์ˆœ์„œ๋ณ„ ๊ทœ์น™์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค!(https://donggod.tistory.com/103)
  • ๊ณต๋ฐฑ ํฌํ•จ ๋ฌธ์ž์—ด ์ž…๋ ฅ๋ฐ›๋Š” ๋ฐฉ๋ฒ•์— ๊ด€ํ•œ ๊ธ€: https://jiwondh.github.io/2017/09/23/cin.getline/
  • 2610 ํšŒ์˜์ค€๋น„(๋ฐฑ์ค€) : DFS์™€ BFS ๋‘ ๊ฐœ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฌธ์ œ. ์ด ๋ฌธ์ œ์ฒ˜๋Ÿผ ์ตœ๋‹จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•ด์•ผํ•  ๊ฒฝ์šฐ์—” BFS๋ฅผ ์จ์ค˜์•ผ ํ•œ๋‹ค. ์ฒ˜์Œ์— ๊ทธ๋ž˜ํ”„ ์ •์  ์ค‘ ๊ฐ€์žฅ ๋งŽ์€ ์ •์ ๊ณผ ์—ฐ๊ฒฐ๋œ ์ •์ ์ด ๋‹ต์ผ ๊ฑฐ๋ผ ์ƒ๊ฐํ•˜์—ฌ ์„ค๊ณ„ํ•˜์˜€์œผ๋‚˜ ์„ค๊ณ„ ๊ฐ€์ • ์ž์ฒด๊ฐ€ ํ‹€๋ ธ์Œ์„ ๋ฐœ๊ฒฌํ•จ. ๋”ฐ๋ผ์„œ, ์ตœ๋‹จ๊ฑฐ๋ฆฌ ๊ด€๋ จํ•œ ๋ฌธ์ œ๋Š” BFS ์ ‘๊ทผ๋ฐฉ์‹์„ ๋จผ์ € ๋– ์˜ฌ๋ ค์•ผ ํ•œ๋‹ค.
  • 1014 ์ปจ๋‹(๋ฐฑ์ค€) : ์ผ๋ฐ˜ DFS,BFS๋กœ๋Š” ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๊ฑธ๋ฆฌ๋Š” ๋ฌธ์ œ. ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์€ ๋„คํŠธ์›Œํฌ ํ”Œ๋กœ์šฐ์™€ Bitmasking DP ์ด ๋‘ ๊ฐ€์ง€ ๊ธฐ๋ฒ•์œผ๋กœ ๋‹ค์Œ ๋งํฌ๋Š” Bitmasking DP ๊ธฐ๋ฒ•์„ ํ™œ์šฉํ•œ ํ’€์ด๋ฅผ ๊ณต์œ ํ•ด๋†“์Œ. https://github.com/cannalee90/Problem_Solving/blob/master/BOJ/1014_%EC%BB%A8%EB%8B%9D.cpp
  • 16137 ๊ฒฌ์šฐ์™€์ง๋…€(๋ฐฑ์ค€) : BFS ๋ฌธ์ œ์—์„œ๋„ ํ•œ ๋ฒˆ๋งŒ ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ๊ณ„์† ๋ฐฉ๋ฌธํ–ˆ๋˜ ์ •์ ์„ ์ง€๋‚  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ตœ์†Œ๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ’€์ด ์—ฐ์Šตํ•˜๊ธฐ ์ข‹์€ ๋ฌธ์ œ. ์กฐ๊ฑด์—์„œ "ํ•˜๋‚˜์˜ ์˜ค์ž‘๊ต๋งŒ ๋งŒ๋“ ๋‹ค"๋Š” ์กฐ๊ฑด์˜ ์˜๋ฏธ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”! https://yabmoons.tistory.com/207
  • 2020 Codejam Contest : kdh9949๋‹˜๊ณผ cki86201๋‹˜ ์ œ์ถœ๋‹ต๋ณ€. ์ƒˆ๋กœ์šด ๊ตฌํ˜„๋ฐฉ๋ฒ•์„ ํ„ฐ๋“ํ•  ์ˆ˜ ์žˆ์—ˆ์Œ.(+๋…์ฐฝ์ ์ธ ํ’€์ด๋ฒ•)
  • 2020 KAKAO BLIND No.5 ๊ธฐ๋‘ฅ๊ณผ ๋ณด ์„ค์น˜: https://biewoom.github.io/coding%20test/kakao%202020%20blind/2020/04/20/pillar.html

About

:computer: Repo for practicing algorithm and data structure:blush:


Languages

Language:C++ 70.3%Language:Java 28.8%Language:Kotlin 0.5%Language:Python 0.4%Language:C 0.1%