CS

CS

gRPC

gRPC๋ž€?google์—์„œ ๊ฐœ๋ฐœํ•œ RPC(Remote Procedure Call)๋กœ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ํ†ต์‹ ์„ ๊ฐ„ํŽธํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋œ ํ”„๋กœํ† ์ฝœ์ด๋‹ค.์ฆ‰, ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ๋ฉ”์‹œ์ง€๋ฅผ ๋น ๋ฅด๊ณ  ์‹ ๋ขฐ์„ฑ ์žˆ๊ฒŒ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.ํ”„๋กœํ† ์ฝœ ๋ฒ„ํผ (Protocol Buffers, Protobuf)gRPC๋Š” Protobuf๋ผ๋Š” ์ง๋ ฌํ™” ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•œ๋‹ค.Protobuf๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ด์ง„ ํ˜•์‹์œผ๋กœ ์ง๋ ฌํ™”ํ•˜๊ณ  ์—ญ์ง๋ ฌํ™”ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ, JSON์ด๋‚˜ XML๋ณด๋‹ค ํ›จ์”ฌ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ด๋‹ค.ํŠนํžˆ ์ž‘์€ ๋ฉ”์‹œ์ง€ ํฌ๊ธฐ์˜ ๊ฒฝ์šฐ, ์ง๋ ฌํ™”/์—ญ์ง๋ ฌํ™” ๊ณผ์ •์—์„œ ๋งค์šฐ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ธ ์ „์†ก์„ ์ œ๊ณต์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด ๋ฐฉ์‹์€ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ , ์ง๋ ฌํ™” ๋ฐ ์—ญ์ง๋ ฌํ™” ์‹œ๊ฐ„์„ ํฌ๊ฒŒ ์ค„์—ฌ ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ์„ ์ ˆ์•ฝํ•˜๊ณ  ์„ฑ..

CS

๋™๊ธฐ, ๋น„๋™๊ธฐ, ๋ธ”๋กœํ‚น, ๋…ผ๋ธ”๋กœํ‚น (cpp)

๋™๊ธฐ์™€ ๋น„๋™๊ธฐ๋™๊ธฐ์ž‘์—…์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉ์‹ํ•˜๋‚˜์˜ ์ž‘์—…์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๋‹ค์Œ ์ž‘์—…์€ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ  ๊ธฐ๋‹ค๋ฆฐ๋‹ค. ์˜ˆ์‹œ : ์ž‘์—… A -> ์ž‘์—… B -> ์ž‘์—… C (A๊ฐ€ ๋๋‚  ๋•Œ๊นŒ์ง€ B, C๋Š” ์‹คํ–‰๋˜์ง€ ์•Š์Œ)๋น„๋™๊ธฐ์ž‘์—…์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๋™์‹œ์— ์ง„ํ–‰์ž‘์—…์„ ์š”์ฒญํ•˜๋ฉด ๊ทธ ์ž‘์—…์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ , ๋‹ค๋ฅธ ์ž‘์—…์„ ๊ณ„์† ์ง„ํ–‰ ์˜ˆ์‹œ : ์ž‘์—… A -> ์ž‘์—… B -> ์ž‘์—… C (A๊ฐ€ ์ง„ํ–‰๋˜๋Š” ๋™์•ˆ B์™€ C๋„ ๋™์‹œ์— ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Œ)๋ธ”๋กœํ‚น๊ณผ ๋…ผ๋ธ”๋กœํ‚น๋ธ”๋กœํ‚น์ž‘์—…์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์ œ์–ด๊ถŒ์„ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๋Š” ๋ฐฉ์‹์–ด๋– ํ•œ ์ž‘์—…์ด ๋๋‚ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ ์˜ˆ์‹œ : ์ž‘์—… A -> ๋Œ€๊ธฐ -> ์ž‘์—… B -> ๋Œ€๊ธฐ -> ์ž‘์—… C (๊ฐ ์ž‘์—…์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐ)๋…ผ๋ธ”๋กœํ‚น์ž‘์—…์ด ์ง„ํ–‰๋˜๋Š” ๋™์•ˆ์—๋„ ์ œ์–ด๊ถŒ์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  ๋‹ค๋ฅธ ์ž‘์—…์„ ๊ณ„..

CS

process, thread

processํ”„๋กœ์„ธ์Šค๋Š” ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์˜ ๋…๋ฆฝ์ ์ธ ๋‹จ์œ„์šด์˜์ฒด์ œ๋Š” ๊ฐ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณ„๋„์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ• ๋‹นํ•˜๋ฉฐ, ํ”„๋กœ์„ธ์Šค ๊ฐ„์—๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ๊ณต์œ ๋˜์ง€ ์•Š๋Š”๋‹ค.thread์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ์ž‘์—…์˜ ๋‹จ์œ„ํ•œ ํ”„๋กœ์„ธ์Šค ๋‚ด์— ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ”„๋กœ์„ธ์Šค์˜ ์ž์›์„ ๊ณต์œ  ๊ตฌ๋ถ„  ProcessThread๊ธฐ๋ณธ ๋‹จ์œ„์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์˜ ๋…๋ฆฝ์ ์ธ ๋‹จ์œ„ํ”„๋กœ์„ธ์Šค ๋‚ด ์ž‘์—…์˜ ์‹คํ–‰ ๋‹จ์œ„๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๊ณ ์œ ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„(Code, Data, Heap, Stack)Code, Data, Heap ๊ณต์œ , Stack์€ ๋…๋ฆฝ์ ๋…๋ฆฝ์„ฑํ”„๋กœ์„ธ์Šค ๊ฐ„ ๋…๋ฆฝ์ , ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์™€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต์œ  ๋ถˆ๊ฐ€๊ฐ™์€ ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์™€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต์œ ์ƒ์„ฑ ์†๋„ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ ์†๋„๊ฐ€ ๋А๋ฆฌ๊ณ  ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ํผ์Šค๋ ˆ๋“œ ์ƒ์„ฑ ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  ๊ฐ€๋ฒผ์›€๋ฌธ..

CS

ํด๋ž˜์Šค ์ธ์Šคํ„ด์Šค ๊ฐ์ฒด

oop๋ฅผ ์ •๋ฆฌํ•˜๊ธฐ์— ์•ž์„œ ์šฉ์–ด๋“ค์˜ ์ •๋ฆฌ๊ฐ€ ํ™•์‹คํ•˜๊ฒŒ ์ด๋ฃจ์–ด์ง€์ง€์•Š๋Š”๊ฑฐ๊ฐ™์•„ class, instance, object๋“ค์— ๋Œ€ํ•œ ๊ฐœ๋…์ •๋ฆฌ๋ฅผ ์ง„ํ–‰ํ•˜์˜€๋‹ค.ํด๋ž˜์Šค (class)๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํ…œํ”Œ๋ฆฟ ๋˜๋Š” ์ฒญ์‚ฌ์ง„๋ฌด์—‡์ธ๊ฐ€์˜ ๋ชจ์ž„, ์ง‘ํ•ฉ์ฒด๊ฐ์ฒด๋ฅผ ์„œ์ˆ ํ•˜๋Š” ๋ฌธ๋ฒ•// cppclass Color { ...}// ์œ„์— ์ฝ”๋“œ์™€ ๊ฐ™์ด object or instance๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ์œ„ํ•œ ํ‹€์˜ ๊ฐœ๋…์„ class๋ผ๊ณ  ์ด์•ผ๊ธฐํ•œ๋‹ค. ์ธ์Šคํ„ด์Šค (instance)ํด๋ž˜์Šค๋กœ ๋ถ€ํ„ฐ ์ƒ์„ฑ๋œ ๊ตฌ์ฒด์ ์ธ ๊ฐ์ฒดclass Color { ...}Color Blue; Color Grean; // ์ฆ‰ Blue, Grean ๊ฐ™์€ ๊ฒƒ๋“ค์„ ๊ฐ์ฒด(object)๋ผ๊ณ  ์ด์•ผ๊ธฐํ•œ๋‹ค.๊ฐ์ฒด (object)ํฌ๊ด„์ ์ธ ์ผ๋ฐ˜ ๋ช…์‚ฌ๊ตฌ์ฒด์ ์ธ ์‚ฌ๋ฌผ์ด๋“  ์ถ”์ƒ์ ์ธ ๊ฐœ๋…๋…๋ฆฝ์ , ์˜์†์ ์œผ๋กœ ์กด์žฌํ•˜๋Š” ๋ฌด..

CS

TCP์™€ UDP ํ†ต์‹ ์˜ ๊ตฌ์กฐ์™€ ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐฉ์‹

Socket์†Œ์ผ“์€ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ์œ„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค๋กœ, ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์ˆ˜์‹ ํ•˜๋Š” ํ†ต๋กœ ์—ญํ• ์„ ํ•œ๋‹ค.์†Œ์ผ“์€ IP ์ฃผ์†Œ์™€ ํฌํŠธ ๋ฒˆํ˜ธ๋กœ ๊ตฌ์„ฑ๋˜์–ด, ์ด๋“ค์„ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ์ƒ์˜ ๋‹ค๋ฅธ ์žฅ์น˜์™€ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•œ๋‹ค.๋Œ€๋ถ€๋ถ„์˜ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์€ ์†Œ์ผ“์„ ์‚ฌ์šฉํ•ด ์ด๋ฃจ์–ด์ง„๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, TCP์™€ UDP ํ†ต์‹ ์€ ๋ชจ๋‘ ์†Œ์ผ“์„ ํ†ตํ•ด ์ฒ˜๋ฆฌ๊ฐ€ ์ด๋ฃจ์–ด์ง„๋‹ค.Stream์ŠคํŠธ๋ฆผ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ์†์ ์œผ๋กœ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ์‹TCP์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ packet ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„์–ด ๋ณด๋‚ด์ง€๋งŒ, ์—ฐ์†์ ์ธ ๋ฐ์ดํ„ฐ ํ๋ฆ„(stream) ํ˜•ํƒœ๋กœ ์ฒ˜๋ฆฌ๋œ๋‹ค. ์ฆ‰, ์—ฌ๋Ÿฌ ํŒจํ‚ท์ด ์ˆœ์ฐจ์ ์œผ๋กœ ์ „๋‹ฌ๋˜๋ฉด์„œ, ์ˆ˜์‹  ์ธก์—์„œ ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ์—ฐ์†์ ์ธ ํ๋ฆ„์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.์ŠคํŠธ๋ฆผ์€ TCP์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋ฉฐ, ์—ฐ์†์ ์ด๊ณ  ์•ˆ์ •์ ์ธ ๋ฐ์ด..

CS

docker-compose์™€ cmake

๋ชฉํ‘œ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐproject - client - Dockerfile - CMakeLists.txt - src - ... - server - Dockerfile - CMakeLists.txt - src - ... - common - Dockerfile - CMakeLists.txt - src - ... - CMakeLists.txt - Docker-compose.txt๋‚˜์˜ ํ”„๋กœ์ ํŠธ์—๋Š” ํฌ๊ฒŒ 3๊ฐœ์˜ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์กด์žฌํ•œ๋‹ค. ๋‚˜์˜ ๋ชฉํ‘œ๋Š” ์ด์™€ ๊ฐ™๋‹ค.๊ตฌ์กฐ๋ฅผ ๊ฐ๊ฐ CMake๋ฅผ ํ†ตํ•ด ์„œ๋กœ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ  docker-compose..

CS

[์ž๋ฃŒ๊ตฌ์กฐ] ํž™ (Heap)

ํž™ (Heap) ๋ž€?ํŠน์ˆ˜ํ•œ ํŠธ๋ฆฌ ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐํž™์€ ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ ํ˜•ํƒœ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์ตœ๋Œ€ ํž™ (Max Heap)๊ณผ ์ตœ์†Œ ํž™(Min Heap) ์ด 2๊ฐ€์ง€๊ฐ€ ์กด์žฌํ•œ๋‹ค.์ตœ๋Œ€ ํž™ (Max Heap)๋ถ€๋ชจ์˜ ๋…ธ๋“œ๊ฐ€ ํ•ญ์ƒ ์ž์‹์˜ ๋…ธ๋“œ๋ณด๋‹ค ํฐ ๊ตฌ์กฐํ•œ์ชฝ ๋…ธ๋“œ๋งŒ ๊ณ„์† ์ง„ํ–‰๋˜์„œ๋Š” ์•ˆ๋œ๋‹ค.์™ผ์ชฝ๊ณผ ์˜ค๋ฅธ์ชฝ ํ•˜์œ„ ํŠธ๋ฆฌ์—๋„ ๊ฐ™์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผํ•œ๋‹ค.๋ถ€๋ชจ์˜ ๊ฐ’๋ณด๋‹ค ์ž์‹์˜ ๊ฐ’์ด ํฌ๋ฉด ์•ˆ๋œ๋‹ค.์ตœ์†Œ ํž™(Min Heap)๋ถ€๋ชจ์˜ ๋…ธ๋“œ๊ฐ€ ํ•ญ์ƒ ์ž์‹์˜ ๋…ธ๋“œ๋ณด๋‹ค ์ž‘์€ ๊ตฌ์กฐํ•œ์ชฝ ๋…ธ๋“œ๋งŒ ๊ณ„์† ์ง„ํ–‰๋˜์„œ๋Š” ์•ˆ๋œ๋‹ค.์™ผ์ชฝ๊ณผ ์˜ค๋ฅธ์ชฝ ํ•˜์œ„ ํŠธ๋ฆฌ์—๋„ ๊ฐ™์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผํ•œ๋‹ค.๋ถ€๋ชจ์˜ ๊ฐ’๋ณด๋‹ค ์ž์‹์˜ ๊ฐ’์ด ์ž‘์œผ๋ฉด ์•ˆ๋œ๋‹ค.์žฅ๋‹จ์ ์žฅ์ ์ตœ๋Œ€๊ฐ’ ๋˜๋Š” ์ตœ์†Œ๊ฐ’์„ ๋น ๋ฅด๊ฒŒ ์ฐพ๊ณ  ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์Œ.์šฐ์„ ์ˆœ์œ„ ํ๋‚˜ ์ž‘์—… ์Šค์ผ€์ค„๋ง์—์„œ ํ™œ์šฉํ•˜๊ธฐ ์ข‹์Œ.๋‹จ์ ์ค‘๊ฐ„ ์š”์†Œ์— ..

CS

[์ž๋ฃŒ๊ตฌ์กฐ] ํ•ด์‹œ ํ…Œ์ด๋ธ” (Hash Table)

ํ•ด์‹œ ํ…Œ์ด๋ธ” (Hash Table) ๋ž€?ํ‚ค-๊ฐ’ ์Œ์„ ๋น ๋ฅด๊ฒŒ ์‚ฝ์ž…, ์กฐํšŒ, ์ œ๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์žฅ๋‹จ์ ์žฅ์ ํ‰๊ท ์ ์œผ๋กœ O(1)์˜ ์‹œ๊ฐ„์— ๊ฒ€์ƒ‰, ์‚ฝ์ž…, ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•ด ๋น ๋ฆ„.ํฐ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ์— ์œ ๋ฆฌํ•˜๋ฉฐ, ์ค‘๋ณต ๋ฐ์ดํ„ฐ ๋ฐฉ์ง€์— ์œ ์šฉ.๋‹จ์ ์ถฉ๋Œ ๋ฐœ์ƒ ์‹œ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ์Œ.ํ•ด์‹œ ํ•จ์ˆ˜์— ๋”ฐ๋ผ ์„ฑ๋Šฅ์ด ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์„ฑ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์Œ.๊ตฌํ˜„vector๋ฅผ ์‚ฌ์šฉํ•œ ๊ตฌํ˜„#include #include #include class HashTable{private: int BUCKET; std::vector > table; public: HashTable(int b) { this->BUCKET = b; table.resize(BUCKET); } ~HashTable() {}; // ์œ ์ผํ•œ ์ธ๋ฑ์Šค..

CS

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

ํŠธ๋ผ์ด (Trie) ๋ž€?๋ฌธ์ž์—ด์„ ์ €์žฅํ•˜๊ณ , ํšจ์œจ์ ์œผ๋กœ ํƒ์ƒ‰ํ•˜๊ธฐ ์œ„ํ•œ ํŠธ๋ฆฌ ํ˜•ํƒœ์˜ ์ž๋ฃŒ๊ตฌ์กฐtree ํ˜•ํƒœ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์ •๋ณด ๊ฒ€์ƒ‰ ๊ฐ™์€ ๋ถ„์•ผ์—์„œ ํ™œ์šฉ๋œ๋‹ค.์œ„์™€ ๊ฐ™์€ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๋น ๋ฅด๊ฒŒ ๋‹จ์–ด๋ฅผ ์ฐพ๋Š” ๊ฒƒ์— ํšจ์œจ์ ์œผ๋กœ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค. ์žฅ๋‹จ์ ์žฅ์ ๋ฌธ์ž์—ด ๊ฒ€์ƒ‰์— ํšจ์œจ์ ์ด๋ฉฐ, ์ ‘๋‘์‚ฌ ๊ฒ€์ƒ‰์„ O(m) ์‹œ๊ฐ„์— ์ˆ˜ํ–‰ ๊ฐ€๋Šฅ (m์€ ๋ฌธ์ž์—ด ๊ธธ์ด).์ž๋™ ์™„์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„์— ์œ ์šฉ.๋‹จ์ ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ์ž์‹ ๋…ธ๋“œ๊ฐ€ ๋งŽ์•„์งˆ์ˆ˜๋ก ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ์Œ.๊ตฌํ˜„class TrieNode๋ฅผ ์‚ฌ์šฉํ•œ ๊ตฌํ˜„#include #include #include class TrieNode{private:public: TrieNode *child[26]; bool wordEnd; TrieNode() { wordEnd = false; for(int i = 0;..

moaoh
'CS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก