๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

    [์ž๋ฃŒ๊ตฌ์กฐ] ํŠธ๋ฆฌ(Tree) - Tree์˜ Balance ํ™•์ธํ•˜๊ธฐ

    ์•„๋ž˜์˜ ์˜์ƒ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ข‹์€์˜์ƒ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. [์ž๋ฃŒ๊ตฌ์กฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜] Tree์˜ Balance ํ™•์ธํ•˜๊ธฐ https://youtu.be/-m154rqFQng (1) .h ์ฝ”๋“œ1 (2) .cpp

    [์ž๋ฃŒ๊ตฌ์กฐ] ํŠธ๋ฆฌ(Tree) - ์ด์ง„ํŠธ๋ฆฌ๋ฅผ ๋ ˆ๋ฒจ๋‹จ์œ„ ๋ฆฌ์ŠคํŠธ๋กœ ๋ณ€ํ˜•ํ•˜๊ธฐ

    ์•„๋ž˜์˜ ์˜์ƒ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ข‹์€์˜์ƒ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. [์ž๋ฃŒ๊ตฌ์กฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ด์ง„ํŠธ๋ฆฌ๋ฅผ ๋ ˆ๋ฒจ๋‹จ์œ„ ๋ฆฌ์ŠคํŠธ๋กœ ๋ณ€ํ˜•ํ•˜๊ธฐ https://youtu.be/Y9Ar9eerxQU (1) .h ์ฝ”๋“œ1 (2) .cpp

    [์ž๋ฃŒ๊ตฌ์กฐ] ํŠธ๋ฆฌ(Tree) - ๋ฐฐ์—ด์„ ์ด์ง„๊ฒ€์ƒ‰ํŠธ๋ฆฌ๋กœ ๋งŒ๋“ค๊ธฐ

    ์•„๋ž˜์˜ ์˜์ƒ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ข‹์€์˜์ƒ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. [์ž๋ฃŒ๊ตฌ์กฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋ฐฐ์—ด์„ ์ด์ง„๊ฒ€์ƒ‰ํŠธ๋ฆฌ๋กœ ๋งŒ๋“ค๊ธฐ in Java https://youtu.be/9ZZbA2iPjtM (1) .h (2) .cpp

    [์ž๋ฃŒ๊ตฌ์กฐ] ๊ทธ๋ž˜ํ”„(Graph) - ๋‘ ์ง€์ ์˜ ๊ฒฝ๋กœ ์ฐพ๊ธฐ(dfs)

    ์•„๋ž˜์˜ ์˜์ƒ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ข‹์€์˜์ƒ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. [์ž๋ฃŒ๊ตฌ์กฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜] Graph์—์„œ ๋‘์ง€์ ์˜ ๊ฒฝ๋กœ์ฐพ๊ธฐ https://youtu.be/VHNOQZBXS0o (1) .h ์ฝ”๋“œ1 (2) .cpp

    [์ž๋ฃŒ๊ตฌ์กฐ] ๊ทธ๋ž˜ํ”„(Graph) - DFS, BFS ๊ตฌํ˜„

    ์•„๋ž˜์˜ ์˜์ƒ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ข‹์€์˜์ƒ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. [์ž๋ฃŒ๊ตฌ์กฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜] Graph ๊ฒ€์ƒ‰ DFS, BFS ๊ตฌํ˜„ in Java https://youtu.be/_hxFgg7TLZQ ์ธ์ ‘๋ฆฌ์ŠคํŠธ(adjacency list)๋กœ DFS์™€ BFS ๊ตฌํ˜„ํ•˜๊ธฐ DFS : stack/์žฌ๊ท€ BFS : queue (1) .h (2) .cpp

    [์ž๋ฃŒ๊ตฌ์กฐ] ํŠธ๋ฆฌ(Tree) - ํŠธ๋ผ์ด ํŠธ๋ฆฌ(Trie tree)

    [์ž๋ฃŒ๊ตฌ์กฐ] ํŠธ๋ฆฌ(Tree) - ํŠธ๋ผ์ด ํŠธ๋ฆฌ(Trie tree)

    ์•„๋ž˜์˜ ์˜์ƒ๋“ค์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ข‹์€์˜์ƒ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. Trie(ํŠธ๋ผ์ด) Tree์— ๋Œ€ํ•ด์„œ - https://youtu.be/TohdsR58i3Q Trie - Insert and Search | GeeksforGeeks - https://youtu.be/dUBkaqrcYT8 0. ํŠธ๋ผ์ด ํŠธ๋ฆฌ(Trie tree)๋ž€? (2023.03.16 ์ˆ˜์ •) ๋ฌธ์ž์—ด ๊ฒ€์ƒ‰์„ ๋น ๋ฅด๊ฒŒ ํ•ด์ฃผ๋Š” ์ด์ง„ ๊ฒ€์ƒ‰ ํŠธ๋ฆฌ ๊ตฌ์กฐ. ํ•œ ๋ ˆ๋ฒจ๋‹น ํ•œ ๋ฌธ์ž์”ฉ ์ €์žฅ๋˜๋ฏ€๋กœ M์ด ๋ฌธ์ž์—ด์˜ ์ตœ๋Œ€ ๊ธธ์ด๋ผ๋ฉด ๋ฌธ์ž์—ด ๊ฒ€์ƒ‰์‹œ ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(Mlogn) ๋‹ค. ํŠธ๋ผ์ด๋ฅผ ์ด์šฉํ•˜๋ฉด ์‹œ๊ฐ„๋ณต์žก๋„ O(M)์ด ๊ฑธ๋ฆฌ๋Š” ๋ฌธ์ž์—ด ๊ฒ€์ƒ‰๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์ฐธ๊ณ  -> https://ko.wikipedia.org/wiki/%ED%8A%B8%EB%9D%BC%EC%9D%B4_(%..

    [์ž๋ฃŒ๊ตฌ์กฐ] ํŠธ๋ฆฌ(Tree) - ์ด์ง„ ํž™(Binary Heaps)

    [์ž๋ฃŒ๊ตฌ์กฐ] ํŠธ๋ฆฌ(Tree) - ์ด์ง„ ํž™(Binary Heaps)

    ์•„๋ž˜์˜ ์œ ํˆฝ์˜์ƒ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ข‹์€์˜์ƒ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. Binary Heaps (Min-Heaps and Max-Heaps) - https://youtu.be/jfwjyJvbbBI 0. ํž™(Heaps)๋ž€? ์ตœ๋Œ“๊ฐ’์ด๋‚˜ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ์•„๋‚ด๋Š” ์—ฐ์‚ฐ์„ ๋น ๋ฅด๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•œ ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ. root์— ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์ด ์˜ค๋ฉด ์ตœ์†Œ ํž™(min heap), root์— ๊ฐ€์žฅ ํฐ ๊ฐ’์ด ์˜ค๋ฉด ์ตœ๋Œ€ ํž™(max heap) 1. ์ตœ์†Œ ํž™์— ๋…ธ๋“œ ์‚ฝ์ž…ํ•˜๊ธฐ(Insert) 1. ์™„์ „ ๋…ธ๋“œ์˜ ๋งจ ๋(leaf)์— ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋˜, ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ(Complete binary tree)๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋งˆ์ง€๋ง‰ ๋ ˆ๋ฒจ์˜ ์™ผ์ชฝ๋ถ€ํ„ฐ ์ถ”๊ฐ€. 2. ๋ถ€๋ชจ๋…ธ๋“œ > ์ƒˆ๋…ธ๋“œ ๋ผ๋ฉด ๋ถ€๋ชจ์™€ ์ƒˆ๋…ธ๋“œ์˜ ์ž๋ฆฌ๋ฅผ ๋ฐ”๊ฟˆ. 3. ๋ถ€๋ชจ๋…ธ๋“œ < ์ƒˆ..

    [์ž๋ฃŒ๊ตฌ์กฐ] ํŠธ๋ฆฌ(Tree) - ํŠธ๋ฆฌ์˜ ์ข…๋ฅ˜, 3๊ฐ€์ง€ ์ˆœํšŒ๋ฐฉ๋ฒ•

    [์ž๋ฃŒ๊ตฌ์กฐ] ํŠธ๋ฆฌ(Tree) - ํŠธ๋ฆฌ์˜ ์ข…๋ฅ˜, 3๊ฐ€์ง€ ์ˆœํšŒ๋ฐฉ๋ฒ•

    ์•„๋ž˜์˜ ์œ ํˆฝ์˜์ƒ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ข‹์€์˜์ƒ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. Tree์˜ ์ข…๋ฅ˜ : https://youtu.be/LnxEBW29DOw 0. ํŠธ๋ฆฌ(tree)๋ž€? ์ฆ‰ Array, LinkedList, Stack, Queue๊ฐ™์ด ์„ ํ˜•๊ตฌ์กฐ๊ฐ€ ์•„๋‹Œ, ๋ถ€๋ชจ์ž์‹์˜ ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง€๋Š” ๊ณ„์ธตํ˜• ๊ทธ๋ž˜ํ”„. 1. ์ด์ง„ ํŠธ๋ฆฌ(Binary tree) Binary tree : ๋ถ€๋ชจ ๋…ธ๋“œ๊ฐ€ ์ž์‹ ๋…ธ๋“œ๋ฅผ ์ตœ๋Œ€ 2๊ฐœ์”ฉ๋งŒ ๊ฐ–๊ณ ์žˆ๋Š” ํŠธ๋ฆฌ. Ternary tree : ์ž์‹ ๋…ธ๋“œ๋ฅผ 2๊ฐœ ์ด์ƒ ๊ฐ–๊ณ  ์žˆ๋Š” ํŠธ๋ฆฌ 2. ์ด์ง„ ๊ฒ€์ƒ‰ ํŠธ๋ฆฌ(Binary Search Tree) Binary tree : ๋…ธ๋“œ๋“ค๊ฐ„์˜ ๋Œ€์†Œ๊ด€๊ณ„๋Š” ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š”๋‹ค. Binary search tree : left child์™€ ๊ทธ ์ดํ•˜ ๋…ธ๋“œ๋“ค์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํ˜„์žฌ ๋…ธ๋“œ(๋ถ€๋ชจ ๋…ธ๋“œ)์˜ ๋ฐ์ดํ„ฐ ๋ณด..

    [๋ฐฑ์ค€/c++] 11049๋ฒˆ - ํ–‰๋ ฌ ๊ณฑ์…ˆ ์ˆœ์„œ

    [๋ฐฑ์ค€/c++] 11049๋ฒˆ - ํ–‰๋ ฌ ๊ณฑ์…ˆ ์ˆœ์„œ

    ๋ฌธ์ œ ๋ฌธ์ œํฌ๊ธฐ๊ฐ€ N×M์ธ ํ–‰๋ ฌ A์™€ M×K์ธ B๋ฅผ ๊ณฑํ•  ๋•Œ ํ•„์š”ํ•œ ๊ณฑ์…ˆ ์—ฐ์‚ฐ์˜ ์ˆ˜๋Š” ์ด N×M×K๋ฒˆ์ด๋‹ค. ํ–‰๋ ฌ N๊ฐœ๋ฅผ ๊ณฑํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๊ณฑ์…ˆ ์—ฐ์‚ฐ์˜ ์ˆ˜๋Š” ํ–‰๋ ฌ์„ ๊ณฑํ•˜๋Š” ์ˆœ์„œ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๊ฒŒ ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, A์˜ ํฌ๊ธฐ๊ฐ€ 5×3์ด๊ณ , B์˜ ํฌ๊ธฐ๊ฐ€ 3×2, C์˜ ํฌ๊ธฐ๊ฐ€ 2×6์ธ ๊ฒฝ์šฐ์— ํ–‰๋ ฌ์˜ ๊ณฑ ABC๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž. AB๋ฅผ ๋จผ์ € ๊ณฑํ•˜๊ณ  C๋ฅผ ๊ณฑํ•˜๋Š” ๊ฒฝ์šฐ (AB)C์— ํ•„์š”ํ•œ ๊ณฑ์…ˆ ์—ฐ์‚ฐ์˜ ์ˆ˜๋Š” 5×3×2 + 5×2×6 = 30 + 60 = 90๋ฒˆ์ด๋‹ค.BC๋ฅผ ๋จผ์ € ๊ณฑํ•˜๊ณ  A๋ฅผ ๊ณฑํ•˜๋Š” ๊ฒฝ์šฐ A(BC)์— ํ•„์š”ํ•œ ๊ณฑ์…ˆ ์—ฐ์‚ฐ์˜ ์ˆ˜๋Š” 3×2×6 + 5×3×6 = 36 + 90 = 126๋ฒˆ์ด๋‹ค.๊ฐ™์€ ๊ณฑ์…ˆ์ด์ง€๋งŒ, ๊ณฑ์…ˆ์„ ํ•˜๋Š” ์ˆœ์„œ์— ๋”ฐ๋ผ์„œ ๊ณฑ์…ˆ ์—ฐ์‚ฐ์˜ ์ˆ˜๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค.ํ–‰๋ ฌ N๊ฐœ์˜ ํฌ๊ธฐ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ชจ๋“  ํ–‰๋ ฌ์„..

    [๋ฐฑ์ค€/c++] 11066๋ฒˆ - ํŒŒ์ผ ํ•ฉ์น˜๊ธฐ

    [๋ฐฑ์ค€/c++] 11066๋ฒˆ - ํŒŒ์ผ ํ•ฉ์น˜๊ธฐ

    ๋ฌธ์ œ https://www.acmicpc.net/problem/11066 ๋ฌธ์ œ์†Œ์„ค๊ฐ€์ธ ๊น€๋Œ€์ „์€ ์†Œ์„ค์„ ์—ฌ๋Ÿฌ ์žฅ(chapter)์œผ๋กœ ๋‚˜๋ˆ„์–ด ์“ฐ๋Š”๋ฐ, ๊ฐ ์žฅ์€ ๊ฐ๊ฐ ๋‹ค๋ฅธ ํŒŒ์ผ์— ์ €์žฅํ•˜๊ณค ํ•œ๋‹ค. ์†Œ์„ค์˜ ๋ชจ๋“  ์žฅ์„ ์“ฐ๊ณ  ๋‚˜์„œ๋Š” ๊ฐ ์žฅ์ด ์“ฐ์—ฌ์ง„ ํŒŒ์ผ์„ ํ•ฉ์ณ์„œ ์ตœ์ข…์ ์œผ๋กœ ์†Œ์„ค์˜ ์™„์„ฑ๋ณธ์ด ๋“ค์–ด์žˆ๋Š” ํ•œ ๊ฐœ์˜ ํŒŒ์ผ์„ ๋งŒ๋“ ๋‹ค. ์ด ๊ณผ์ •์—์„œ ๋‘ ๊ฐœ์˜ ํŒŒ์ผ์„ ํ•ฉ์ณ์„œ ํ•˜๋‚˜์˜ ์ž„์‹œํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ , ์ด ์ž„์‹œํŒŒ์ผ์ด๋‚˜ ์›๋ž˜์˜ ํŒŒ์ผ์„ ๊ณ„์† ๋‘ ๊ฐœ์”ฉ ํ•ฉ์ณ์„œ ์†Œ์„ค์˜ ์—ฌ๋Ÿฌ ์žฅ๋“ค์ด ์—ฐ์†์ด ๋˜๋„๋ก ํŒŒ์ผ์„ ํ•ฉ์ณ๋‚˜๊ฐ€๊ณ , ์ตœ์ข…์ ์œผ๋กœ๋Š” ํ•˜๋‚˜์˜ ํŒŒ์ผ๋กœ ํ•ฉ์นœ๋‹ค. ๋‘ ๊ฐœ์˜ ํŒŒ์ผ์„ ํ•ฉ์น  ๋•Œ ํ•„์š”ํ•œ ๋น„์šฉ(์‹œ๊ฐ„ ๋“ฑ)์ด ๋‘ ํŒŒ์ผ ํฌ๊ธฐ์˜ ํ•ฉ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•  ๋•Œ, ์ตœ์ข…์ ์ธ ํ•œ ๊ฐœ์˜ ํŒŒ์ผ์„ ์™„์„ฑํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋น„์šฉ์˜ ์ด ํ•ฉ์„ ๊ณ„์‚ฐํ•˜์‹œ์˜ค.์˜ˆ๋ฅผ ๋“ค์–ด, C1, C2, C3, C4๊ฐ€..