์ฟ ํ‚ค
ยท
๐Ÿ’ป CS/์šฉ์–ด
์ฟ ํ‚ค์›น์‚ฌ์ดํŠธ๊ฐ€ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅํ•˜๋Š” ์ž‘์€ ๋ฐ์ดํ„ฐ ํŒŒ์ผ (์›น์‚ฌ์ดํŠธ๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์— ๋‚จ๊ธฐ๋Š” ๋ฉ”๋ชจ!) ๋กœ๊ทธ์ธ ์œ ์ง€, ์„ค์ • ์ €์žฅ, ๊ด‘๊ณ  ์ถ”์  ๋“ฑ์— ์‚ฌ์šฉ ์ฟ ํ‚ค์˜ ํŠน์ง•1. ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅ๋จ2. ์ž‘์€ ์šฉ๋Ÿ‰3. ๋„๋ฉ”์ธ๋ณ„๋กœ ๊ด€๋ฆฌ4. ๋งŒ๋ฃŒ ๊ธฐ๊ฐ„ ์„ค์ • ๊ฐ€๋Šฅ ์ฟ ํ‚ค์˜ ์ข…๋ฅ˜์„ธ์…˜ ์ฟ ํ‚ค: ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋‹ซํžˆ๋ฉด ์‚ฌ๋ผ์ง์˜๊ตฌ ์ฟ ํ‚ค: ํŠน์ • ๋งŒ๋ฃŒ ์‹œ๊ฐ„๊นŒ์ง€ ์œ ์ง€๋จํผ์ŠคํŠธํŒŒํ‹ฐ ์ฟ ํ‚ค: ๋ฐฉ๋ฌธํ•œ ์›น์‚ฌ์ดํŠธ์—์„œ ์ง์ ‘ ์„ค์ •์„œ๋“œํŒŒํ‹ฐ ์ฟ ํ‚ค: ๊ด‘๊ณ , ๋ถ„์„ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์™ธ๋ถ€ ์‚ฌ์ดํŠธ์—์„œ ์„ค์ •
Shader
ยท
๐Ÿ’ป CS/์šฉ์–ด
ShaderGPU(Graphics Processing Unit)์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๊ทธ๋ž˜ํ”ฝ ๋ Œ๋”๋ง ๊ณผ์ •์—์„œ ๋‹ค์–‘ํ•œ ์‹œ๊ฐ์  ํšจ๊ณผ๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉ. ์ผ๋ฐ˜์ ์œผ๋กœ 3D ๊ทธ๋ž˜ํ”ฝ์Šค API(ex: OpenGL, DirectX, Metal)์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, GPU๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ณ ์†์œผ๋กœ ๊ทธ๋ž˜ํ”ฝ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰. Shader์˜ ์—ญํ• 1. 3D ๋ชจ๋ธ์˜ ๋ณ€ํ™˜๊ฐ์ฒด๋ฅผ ํ™”๋ฉด์— ๊ทธ๋ฆฌ์ง€ ์œ„ํ•ด ์œ„์น˜, ํฌ๊ธฐ, ํšŒ์ „ ๋“ฑ์„ ์กฐ์ •.๋ชจ๋ธ ์ขŒํ‘œ์—์„œ ํ™”๋ฉด ์ขŒํ‘œ๋กœ ๋ณ€ํ™˜.2. ์กฐ๋ช… ๋ฐ ์ƒ‰์ƒ ๊ณ„์‚ฐ๋ฌผ์ฒด์— ๋น›์ด ์–ด๋–ป๊ฒŒ ๋ฐ˜์‚ฌ๋˜๊ณ  ํก์ˆ˜๋˜๋Š”์ง€ ๊ณ„์‚ฐํ•˜์—ฌ ํ˜„์‹ค๊ฐ ์žˆ๋Š” ์ด๋ฏธ์ง€ ์ƒ์„ฑ.ex) ๋น›, ๊ทธ๋ฆผ์ž, ๋ฐ˜์‚ฌ3. ํ”ฝ์…€ ์ƒ‰์ƒ ์ •์˜ํ…์Šค์ฒ˜๋‚˜ ์ƒ‰์ƒ์„ ์ ์šฉํ•ด ๊ฐ ํ”ฝ์…€์˜ ์ตœ์ข… ์ƒ‰์ƒ์„ ๊ฒฐ์ •.๊ทธ๋ฆผ์ž, ํˆฌ๋ช…๋„, ๋ฐ˜์‚ฌ ๋“ฑ ์‹œ๊ฐ์  ํšจ๊ณผ๋ฅผ ์ถ”๊ฐ€.4. ํฌ์ŠคํŠธ ํ”„๋กœ์„ธ์‹ฑ๋ Œ๋”๋ง๋œ..
[DICOM-2] DICOM ํŒŒ์ผ ๊ตฌ์กฐ
ยท
๐Ÿ’ป CS
DICOM ํŒŒ์ผ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ1. PreambleDICOM ํŒŒ์ผ์˜ ์ฒ˜์Œ์— ์œ„์น˜ํ•œ 128๋ฐ”์ดํŠธ ๊ณต๊ฐ„ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ํฌํ•จ๋œ๋‹ค. 2. Prefix"DICM"์ด๋ผ๋Š” ๋ฌธ์ž์—ด์ด ํฌํ•จ๋˜์–ด ์žˆ์–ด DICOMํŒŒ์ผ์ž„์„ ๋ช…์‹œํ•˜๋Š” 4๋ฐ”์ดํŠธ ๊ณต๊ฐ„ 3. File Meta InformationํŒŒ์ผ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์˜ ์ •๋ณด๋ฅผ ํฌํ•จ. Transfer Syntax, SOP Class UID, SOP Instance UID ๋“ฑ ํŒŒ์ผ์˜ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์ค‘์š”์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค. DICOM Data Set์˜ ์‹œ์ž‘์„ ์•Œ๋ฆฌ๋Š” ๋ถ€๋ถ„์ด๋‹ค. 4. Data Set Tag์™€ Value๋กœ ์ด๋ฃจ์–ด์ง„ Data Element๋“ค์˜ ์ง‘ํ•ฉTagDICOM ๋ฐ์ดํ„ฐ์˜ ํ•„๋“œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ณ ์œ ์‹๋ณ„์ž. (Group, Element) ํ˜•์‹์œผ๋กœ ํ‘œ์‹œ๋œ๋‹ค. ex) (0010, 001..
[DICOM-1] DICOM์ด๋ž€?
ยท
๐Ÿ’ป CS
DICOM(Digital Imaging and Communications in Medicine)์˜ ์ •์˜์Šค์บ๋„ˆ, ์›Œํฌ์Šคํ…Œ์ด์…˜, ์„œ๋ฒ„์™€ ๊ฐ™์€ ๊ธฐ๊ธฐ ๊ฐ„์— ์˜๋ฃŒ ์˜์ƒ๊ณผ ํ•ด๋‹น ์˜์ƒ์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ ๋ฐ ์ „์†ก๋˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๋Š” ํ‘œ์ค€ ์˜๋ฃŒ ์˜์ƒ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ณ‘์›๊ณผ ๊ฐœ๋ฐœ์ž์—๊ฒŒ DICOM์€ ํ•„์ˆ˜์ ์ธ ํ‘œ์ค€์ด๋‹ค. DICOM์€ ์˜๋ฃŒ์šฉ ์˜์ƒ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ €์žฅ, ์ „์†ก, ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์•ฝ์†์ด๋‹ค.DICOM์€ ์—ฌ๋Ÿฌ ์˜๋ฃŒ ์˜์ƒ ๋ชจ๋‹ฌ๋ฆฌํ‹ฐ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜์—ฌ ์ง„๋‹จ ์—ฐ๊ตฌ์˜ ์ƒ์„ธํ•œ ์„ค๋ช…์ž๋ฃŒ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.์ด๋Ÿฌํ•œ ๋ชจ๋‹ฌ๋ฆฌํ‹ฐ๋Š” CT, PET, MRI, X์„  ์ดˆ์ŒํŒŒ์™€ ๋ฐฉ์‚ฌ์„  ์˜์ƒ ๋ชจ๋‹ฌ๋ฆฌํ‹ฐ๊ฐ€ ํฌํ•จ๋œ๋‹ค. DICOM์„ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์žฅ์ - DICOM์€ ์˜๋ฃŒ๊ณ„์—์„œ ์˜์ƒ ์ €์žฅ์— ๊ฐ€์žฅ ํ”ํžˆ ์‚ฌ์šฉ๋˜๋Š” ํ‘œ์ค€์ด๋‹ค.- DICOM์„ ์‚ฌ์šฉํ•˜๋ฉด..
DTO
ยท
๐Ÿ’ป CS/์šฉ์–ด
DTO(Data Transfer Object) ๋ฐ์ดํ„ฐ ์ „์†ก ๊ฐ์ฒด. ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํŒจํ„ด. DTO๋Š” ๋ณดํ†ต DB์—์„œ ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ๋‚˜ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์œผ๋กœ ์ „์†กํ•  ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๋Š” ๊ฐ์ฒด๋กœ ์‚ฌ์šฉ๋œ๋‹ค. DB๋‚˜ ์„œ๋น„์Šค ๊ณ„์ธต ๋“ฑ์—์„œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ํฌํ•จํ•˜์ง€ ์•Š๊ณ  ์ˆœ์ˆ˜ํ•œ ๋ฐ์ดํ„ฐ๋งŒ์„ ํฌํ•จํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๊ฐ์ฒด๋กœ DTO๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ ์ „์†ก ๊ณผ์ •์—์„œ์˜ ์˜ค๋ฒ ํ—ค๋“œ๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ , ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ํ‘œ์ค€ํ™”ํ•˜์—ฌ ๊ฐœ๋ฐœ์ž ๊ฐ„์˜ ํ˜‘์—…์„ ์šฉ์ดํ•˜๊ฒŒ ํ•œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ DTO๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๋Š” ํ•„๋“œ์™€ ํ•„์š”ํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ํฌํ•จํ•œ ํด๋ž˜์Šค๋กœ ๊ตฌํ˜„๋œ๋‹ค. DTO ํด๋ž˜์Šค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ „์†กํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ์ฃผ๋กœ DB์˜ ํ…Œ์ด๋ธ”๊ณผ ์œ ์‚ฌํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ํ•„๋“œ์™€ ..
[Swift] ์ด์ง„ํƒ์ƒ‰(Binary Search)
ยท
๐Ÿ’ป CS/์•Œ๊ณ ๋ฆฌ์ฆ˜
์ด์ง„ํƒ์ƒ‰ ๋ฐ์ดํ„ฐ๊ฐ€ ์ •๋ ฌ๋˜์–ด์žˆ๋Š” ๋ฐฐ์—ด์—์„œ ์ค‘๊ฐ„๊ฐ’๊ณผ ๋น„๊ตํ•˜๋ฉฐ ํŠน์ •ํ•œ ๊ฐ’์„ ์ฐพ์•„๋‚ด๋Š” ํƒ์ƒ‰ ๋ฐฉ๋ฒ• ๊ตฌํ˜„ ์žฌ๊ท€ //์žฌ๊ท€์ ์œผ๋กœ ํ‘œํ˜„ํ•œ ์ด๋ถ„ํƒ์ƒ‰ //11์ด ์–ด๋””์žˆ๋Š”์ง€ ์ฐพ๋Š” ์ด๋ถ„ํƒ์ƒ‰์ž…๋‹ˆ๋‹ค. var binaryArray = [0, 1, 4, 6, 8, 11, 14, 23, 24, 26, 28, 31, 41, 50] func recursiveBinary(array: [Int], target: Int, start: Int, end: Int) -> Int? { //์‹œ์ž‘์ ์ด ๋์ ๋ณด๋‹ค ์ปค์ง€๋ฉด? ์ด๋ฏธ ๋ชจ๋“  ์˜์—ญ์„ ํƒ์ƒ‰ํ–ˆ๋‹ค๋Š” ๋œป ์ด๊ฒ ์ฃ ? ๋ชจ๋“  ์˜์—ญ์„ ํƒ์ƒ‰ํ–ˆ๋Š”๋ฐ ํƒ€๊ฒŸ ์ˆซ์ž๋ฅผ //๋ชป ์ฐพ์•˜๋‹ค๋ฉด nil์„ ๋ฆฌํ„ดํ•ด ์ฃผ๋„๋ก ํ•ฉ์‹œ๋‹ค. if start > end { return nil } //์ผ๋‹จ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆŒ๊ฑฐ๋‹ˆ๊นŒ ์ค‘๊ฐ„์„ ์ฐพ์•„์ค์‹œ๋‹ค. var mid ..
๋น„ํŠธ๋งˆ์Šคํ‚น
ยท
๐Ÿ’ป CS/์•Œ๊ณ ๋ฆฌ์ฆ˜
๋น„ํŠธ๋งˆ์Šคํ‚น ์ปดํ“จํ„ฐ๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ๋ชจ๋“  ์ž๋ฃŒ๋ฅผ ์ด์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•œ๋‹ค. ์ด๋Ÿฐ ํŠน์„ฑ์„ ์ด์šฉํ•ด ์ •์ˆ˜์˜ ์ด์ง„์ˆ˜ํ‘œํ˜„์„ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ์“ฐ๋Š” ๊ธฐ๋ฒ• ๋น„ํŠธ๋งˆ์Šคํฌ๋ฅผ ์ด์šฉํ•˜๋ฉด ๋” ๋น ๋ฅธ ์ˆ˜ํ–‰์‹œ๊ฐ„, ๋” ๊ฐ„๊ฒฐํ•œ ์ฝ”๋“œ, ๋” ์ ์€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋น„ํŠธ ์—ฐ์‚ฐ์ž ๋น„ํŠธ๋งˆ์Šคํ‚น์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํŠธ๋ฅผ ๋‹ค๋ค„์•ผ ํ•˜๋ฏ€๋กœ, ๋น„ํŠธ ์—ฐ์‚ฐ์ž์— ๋Œ€ํ•ด์„œ ๋จผ์ € ์•Œ์•„๋ณด์ž. a & b a์˜ ๋ชจ๋“  ๋น„ํŠธ์™€ b์˜ ๋ชจ๋“  ๋น„ํŠธ๋ฅผ AND ์—ฐ์‚ฐํ•œ๋‹ค. ๋‘˜๋‹ค 1์ด๋ผ๋ฉด 1, ์•„๋‹ˆ๋ฉด 0 ex) 100 & 111 = 100 a | b a์˜ ๋ชจ๋“  ๋น„ํŠธ์™€ b์˜ ๋ชจ๋“  ๋น„ํŠธ๋ฅผ OR ์—ฐ์‚ฐํ•œ๋‹ค. ๋‘˜๋‹ค 0์ด๋ผ๋ฉด 0, ์•„๋‹ˆ๋ฉด 1 ex) 010 | 111 = 111 a ^ b a์˜ ๋ชจ๋“  ๋น„ํŠธ์™€ b์˜ ๋ชจ๋“  ๋น„ํŠธ๋ฅผ XOR ์—ฐ์‚ฐํ•œ๋‹ค. ๋‘˜์ด ๋‹ค๋ฅด๋‹ค๋ฉด 1, ์•„๋‹ˆ๋ฉด 0 ex) 011 ^ 101 = 110 ~a a์˜..
์ธํ„ฐํŽ˜์ด์Šค
ยท
๐Ÿ’ป CS/์šฉ์–ด
์ธํ„ฐํŽ˜์ด์Šค ์„œ๋กœ ๋‹ค๋ฅธ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์„œ๋กœ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ง€์ •ํ•˜๋Š” ๊ณ„์•ฝ ๋˜๋Š” ๊ทœ์น™ ์ง‘ํ•ฉ์„ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด ์ปดํ“จํ„ฐ ๊ณผํ•™ ๋ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ฐœ๋… ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋‘ ๊ฐœ ์ด์ƒ์˜ ์‹œ์Šคํ…œ ๊ฐ„์— ๊ฒฝ๊ณ„ ๋˜๋Š” ๋ธŒ๋ฆฌ์ง€ ์—ญํ• ์„ ํ•˜์—ฌ ํ‘œ์ค€ํ™”๋œ ๋ฐฉ์‹์œผ๋กœ ํ†ต์‹ ํ•˜๊ณ  ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๊ตฌํ˜„ ํด๋ž˜์Šค ๋˜๋Š” ๋ชจ๋“ˆ์ด ์ง€์›ํ•ด์•ผ ํ•˜๋Š” ์ž‘์—… ๋˜๋Š” ๋™์ž‘์„ ์ •์˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ ๋˜๋Š” ํ•จ์ˆ˜ ๋ชจ์Œ์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์€ ์„œ๋กœ ๋‹ค๋ฅธ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์„œ๋กœ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ฒญ์‚ฌ์ง„ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ ์ถ”์ƒํ™” ๋ฐ ๋ชจ๋“ˆ์„ฑ์„ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” ๊ตฌ์„ฑ ์š”์†Œ์˜ ๊ตฌํ˜„ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ๋‹ค๋ฅธ ๊ตฌ์„ฑ ์š”์†Œ์™€์˜ ์‚ฌ์šฉ ๋˜๋Š” ์ƒํ˜ธ ์ž‘์šฉ์—์„œ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ..
[Swift] ๋ฐฑํŠธ๋ž˜ํ‚น
ยท
๐Ÿ’ป CS/์•Œ๊ณ ๋ฆฌ์ฆ˜
๋ฐฑํŠธ๋ž˜ํ‚น ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ณ ๋ คํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜. ๋‹ต์ด๋  ์ˆ˜ ์—†๋Š” ํ›„๋ณด๋Š” ๋”์ด์ƒ ํƒ์ƒ‰ํ•˜์ง€ ์•Š๊ณ  ๋‹ค์‹œ ๋Œ์•„๊ฐ€๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐฑํŠธ๋ž˜ํ‚น ์ ˆ์ฐจ DFS - ์œ ๋งํ•œ ๋…ธ๋“œ ๊ฒ€ํ†  - ์„œ๋ธŒํŠธ๋ฆฌ ์ด๋™ - ๋ฐฑํŠธ๋ž˜ํ‚น ์ˆ˜ํ–‰ DFS ์ˆ˜ํ–‰ : ์žฌ๊ท€๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด์„œ DFS๋ฅผ ๊ทธ๋Œ€๋กœ ์ˆ˜ํ–‰ ์œ ๋งํ•œ ๋…ธ๋“œ ๊ฒ€ํ†  : ์œ ๋งํ•œ ๋…ธ๋“œ๋ฉด ์„œ๋ธŒํŠธ๋ฆฌ๋กœ ์ด๋™ํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋ฐฑํŠธ๋ž˜ํ‚น์„ ์ˆ˜ํ–‰ํ•ด์•ผํ•จ ์„œ๋ธŒํŠธ๋ฆฌ ์ด๋™ : ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ์˜ ํ•˜์œ„ ๋…ธ๋“œ๋กœ ์ด๋™ํ•˜์—ฌ ๋‹ค์‹œ ์žฌ๊ท€๋ฅผ ํ†ตํ•ด DFS ์ˆ˜ํ–‰ ๋ฐฑํŠธ๋ž˜ํ‚น ์ˆ˜ํ–‰ : ๋”์ด์ƒ ์œ ํšจํ•œ ๋…ธ๋“œ๋ผ๊ณ  ์ƒ๊ฐ๋˜์ง€ ์•Š์œผ๋ฉด ์ƒ์œ„ ๋…ธ๋“œ๋กœ ๋ฐฑํ•˜์—ฌ ๋ฐฑํŠธ๋ž˜ํ‚น ์ˆ˜ํ–‰ ๋ฐฑํŠธ๋ž˜ํ‚น ๋Œ€ํ‘œ ์˜ˆ์ œ https://www.acmicpc.net/problem/15649 15649๋ฒˆ: N๊ณผ M (1) ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์ˆ˜์—ด์„ ์ถœ๋ ฅํ•œ๋‹ค. ์ค‘๋ณต๋˜๋Š” ์ˆ˜์—ด์„ ์—ฌ๋Ÿฌ..
Entity
ยท
๐Ÿ’ป CS/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
Entity ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ ์ €์žฅ๋˜๊ณ , ๊ด€๋ฆฌ๋˜์–ด์•ผํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ฐœ๋…, ์žฅ์†Œ, ์‚ฌ๊ฑด ๋“ฑ์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค. ์œ ํ˜• ๋˜๋Š” ๋ฌดํ˜•์˜ ๋Œ€์ƒ์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค. ํŠน์ง• ์‹๋ณ„์ž ์œ ์ผํ•œ ์‹๋ณ„์ž๋ฅผ ๊ฐ–๊ณ  ์žˆ์–ด์•ผํ•œ๋‹ค. ex) ์ฃผ๋ฏผ๋ฒˆํ˜ธ, ID ๋“ฑ ์ธ์Šคํ„ด์Šค ์ง‘ํ•ฉ 2๊ฐœ ์ด์ƒ์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์†์„ฑ ๋ฐ˜๋“œ์‹œ ์†์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผํ•œ๋‹ค. ex) ํ•™์ƒ์˜ ํ•™๋ฒˆ, ์ด๋ฆ„, ์ฃผ์†Œ ๋“ฑ ๊ด€๊ณ„ ๋‹ค๋ฅธ ์—”ํ‹ฐํ‹ฐ์™€ ์ตœ์†Œ ํ•œ ๊ฐœ ์ด์ƒ ๊ด€๊ณ„๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ex) ํ•™์ƒ์€ ์ด๋ฆ„์„ ๊ฐ–๊ณ  ์žˆ์Œ ์—…๋ฌด ์—…๋ฌด์—์„œ ๊ด€๋ฆฌ๋˜์–ด์•ผํ•˜๋Š” ์ง‘ํ•ฉ์ด๋‹ค. ex) ํ•™์ƒ, ์„ฑ์  ์ข…๋ฅ˜ ์—”ํ‹ฐํ‹ฐ๋Š” ์œ ํ˜•, ๋ฌดํ˜•์— ๋”ฐ๋ฅธ ์ข…๋ฅ˜, ๋ฐœ์ƒํ•˜๋Š” ์‹œ์ ์— ๋”ฐ๋ผ ๋‚˜๋‰˜์–ด์ง„๋‹ค. ์œ ํ˜•๊ณผ ๋ฌดํ˜•์— ๋”ฐ๋ฅธ ์ข…๋ฅ˜ ์œ ํ˜• ์—”ํ‹ฐํ‹ฐ ์ง€์†์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์—”ํ‹ฐํ‹ฐ ๊ฐœ๋… ์—”ํ‹ฐํ‹ฐ ๋ฌผ๋ฆฌ์  ํ˜•ํƒœ๊ฐ€ ์—†๋Š” ์—”ํ‹ฐํ‹ฐ, ๊ฐœ๋…์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์—”ํ‹ฐํ‹ฐ ex) ๋ณดํ—˜์ƒํ’ˆ, ์กฐ์ง..
JerryiOS
'๐Ÿ’ป CS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก