๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด๋ณด๊ธฐ59

[F-Lab Mentoring] JVM 2ํƒ„ โ˜‘๏ธ ClassLoader1. JVM๊ณผ ClassLoaderJVM์€ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ž‘ํ•˜๋Š” ๊ฐ€์ƒ ๋จธ์‹ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ๋‹จ์œ„๋Š” .class ๋ฐ”์ดํŠธ์ฝ”๋“œ์ด๊ณ , ์ด ํŒŒ์ผ์„ JVM ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ ค์ฃผ๋Š” ์ฃผ์ฒด๊ฐ€ ๋ฐ”๋กœ ํด๋ž˜์Šค ๋กœ๋”(ClassLoader)์ฆ‰, ํด๋ž˜์Šค ๋กœ๋”๋Š” “.class ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ์ฐพ์•„ JVM ๋‚ด๋ถ€ ๊ตฌ์กฐ๋กœ ์ ์žฌ(Load)ํ•˜๊ณ , ๋งํฌ/์ดˆ๊ธฐํ™”๊นŒ์ง€ ์ด๋„๋Š” ๊ฐ์ฒด”์ ์žฌ ๋Œ€์ƒ: ํ•„๋“œ/๋ฉ”์„œ๋“œ ์‹œ๊ทธ๋‹ˆ์ฒ˜, ๋ฐ”์ดํŠธ์ฝ”๋“œ, ๋Ÿฐํƒ€์ž„ ์ƒ์ˆ˜ ํ’€(RCP) ๋“ฑ ํด๋ž˜์Šค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์ €์žฅ ์œ„์น˜: ๋…ผ๋ฆฌ์ ์œผ๋ก  Method Area, HotSpot์—์„  Metaspace(๋„ค์ดํ‹ฐ๋ธŒ ๋ฉ”๋ชจ๋ฆฌ) 2. ํด๋ž˜์Šค ๋กœ๋”ฉ ๊ณผ์ •์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์ด A๋ผ๋Š” ํด๋ž˜์Šค๊ฐ€ ์ฒ˜์Œ ์ฐธ์กฐํ•˜๋ฉด, JVM์€ ํด๋ž˜์Šค ๋กœ๋” ์ฒด์ธ์„ ๋”ฐ๋ผ๊ฐ€๋ฉฐ ์„ธ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆฐ๋‹ค.1) ๋กœ๋”ฉ(Loa.. 2025. 9. 28.
[Java] ์ž๋ฃŒ๊ตฌ์กฐ (Data Structures) - Collection 2. Set ๊ณ„์—ด ๐Ÿ“„ Java์˜ ์ž๋ฃŒ๊ตฌ์กฐArray โ””โ”€ ๊ธฐ๋ณธ ์ž๋ฃŒ๊ตฌ์กฐ, ํฌ๊ธฐ ๊ณ ์ •, ์ธ๋ฑ์Šค ์ ‘๊ทผ O(1), ์‚ฝ์ž…/์‚ญ์ œ O(n) โ””โ”€ ArrayList ๋‚ด๋ถ€ ๊ตฌํ˜„์—์„œ ์‚ฌ์šฉ๋จCollection (java.util.Collection ์ธํ„ฐํŽ˜์ด์Šค) โ”œโ”€ List โ”‚ โ”œโ”€ ArrayList (๋™์  ๋ฐฐ์—ด, ์ธ๋ฑ์Šค ์ ‘๊ทผ ๋น ๋ฆ„, ์ค‘๊ฐ„ ์‚ฝ์ž…/์‚ญ์ œ ๋А๋ฆผ) โ”‚ โ”œโ”€ LinkedList (์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ, ์–‘๋ ์‚ฝ์ž…/์‚ญ์ œ ๋น ๋ฆ„, ๋žœ๋ค ์ ‘๊ทผ ๋А๋ฆผ) โ”‚ โ””โ”€ CopyOnWriteArrayList (์“ฐ๊ธฐ ์‹œ ์ „์ฒด ๋ณต์‚ฌ, ์ฝ๊ธฐ ๋น ๋ฆ„, ์“ฐ๊ธฐ ๋“œ๋ŽŒ, ๋™์‹œ์„ฑ ์•ˆ์ „) โ”‚ โ”œโ”€ Set โ”‚ โ”œโ”€ HashSet (ํ•ด์‹œ ๊ธฐ๋ฐ˜, ์ˆœ์„œ ์—†์Œ, ์ค‘๋ณต ๋ถˆ๊ฐ€) โ”‚ โ”œโ”€ LinkedHas.. 2025. 9. 5.
[Java] ์ž๋ฃŒ๊ตฌ์กฐ (Data Structures) - Collection 1. List ๊ณ„์—ด ๐Ÿ”— ์ž๋ฃŒ๊ตฌ์กฐ๋ž€?์ปดํ“จํ„ฐ ๊ณผํ•™์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์กฐ์ง, ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ์‹ ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ๊ณ„์ธต(Collection Framework Hierarchy) ์ž๋ฐ”์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ·๊ด€๋ฆฌ·๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•œ ํ‘œ์ค€ํ™”๋œ ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค๋“ค์˜ ๊ตฌ์กฐ์  ๊ณ„์ธต๋„ Collection ์ธํ„ฐํŽ˜์ด์Šค ๊ณ„์—ด + Map ๊ณ„์—ด๊นŒ์ง€ ํฌํ•จํ•œ ์ „์ฒด ๊ตฌ์กฐ๋ฅผ ์ง€์นญ.์™œ "ํ”„๋ ˆ์ž„์›Œํฌ"์ธ์ง€?์ž๋ฐ”์—์„œ ๋ฐฐ์—ด(Array)๋งŒ์œผ๋กœ๋Š” ํฌ๊ธฐ ๋ณ€๊ฒฝ, ์ค‘๋ณต ์ œ๊ฑฐ, ์ •๋ ฌ, ํƒ์ƒ‰ ๋“ฑ ์‹ค๋ฌด์ ์ธ ์ž๋ฃŒ ๊ตฌ์กฐ ์š”๊ตฌ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์–ด๋ ค์›€.๊ทธ๋ž˜์„œ Sun/Oracle์—์„œ ๊ณตํ†ต๋œ ์„ค๊ณ„ ์›์น™ ์•„๋ž˜, ์ธํ„ฐํŽ˜์ด์Šค + ๊ตฌํ˜„์ฒด + ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ฌถ์–ด ์ œ๊ณตํ•œ ๊ฒŒ ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ.์žฌ์‚ฌ์šฉ์„ฑ·์ผ๊ด€์„ฑ ํ™•๋ณด → ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๋งค๋ฒˆ ๊ตฌํ˜„ํ•  ํ•„์š” ์—†์Œ. ๐Ÿ“„ Java์˜ ์ž๋ฃŒ๊ตฌ์กฐArray โ””โ”€.. 2025. 9. 4.
[๊ธฐ์ดˆ ์ˆ˜ํ•™ 1] GCD/LCM (์ตœ๋Œ€๊ณต์•ฝ์ˆ˜, ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜) ๐Ÿ“Œ ๊ฐœ๋…1. ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜(GCD)๋‘ ์ˆ˜๋ฅผ ๋™์‹œ์— ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ์ˆ˜.์˜ˆ) 12์™€ 18 → ๊ณต์•ฝ์ˆ˜๋Š” {1,2,3,6}, ๊ทธ์ค‘ ์ตœ๋Œ€๊ฐ’ = 6 2. ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜(LCM) ๋‘ ์ˆ˜๊ฐ€ ๋™์‹œ์— ๋‚˜๋ˆ  ๋–จ์–ด์ง€๋Š” ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜์˜ˆ) 12์™€ 18 → ๋ฐฐ์ˆ˜ ์ง‘ํ•ฉ์€ {12,24,36,48,60,...}, {18,36,54,72,...} ๊ณตํ†ต ๋ฐฐ์ˆ˜๋Š” {36,72,108,...}, ๊ทธ์ค‘ ์ตœ์†Œ๊ฐ’ = 36 ๐Ÿค” ์™œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์—์„œ ์ค‘์š”ํ• ๊นŒ?๋ถ„์ˆ˜/๋น„์œจ ๋‹จ์ˆœํ™”์ฃผ๊ธฐ ๋ฌธ์ œ๋ฐฐ์—ด์˜ ๊ณตํ†ต ์„ฑ์งˆ์ค‘๋ณต ์ฒ˜๋ฆฌ ์ตœ์†Œํ™”ํŠนํžˆ LCM์€ ์—ฌ๋Ÿฌ ์ž‘์—…์˜ ๋™์‹œ ์‹œ์  ๊ณ„์‚ฐ์— ์ž์ฃผ ๋“ฑ์žฅํ•œ๋‹ค. ๐Ÿงฎ ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ• (Euclidean Algorithm)1. ์ •์˜: ๋‘ ์ˆ˜์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜(GCD)๋ฅผ ๊ตฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ 2. ์›๋ฆฌ: ํฐ ์ˆ˜๋ฅผ ์ž‘์€ ์ˆ˜๋กœ ๊ณ„์† ๋‚˜๋ˆ„๋‹ค ๋ณด๋ฉด,.. 2025. 9. 3.
[F-Lab Mentoring] JVM 1ํƒ„ ๐Ÿ–ฅ JVM์˜ ๊ตฌ์„ฑ์š”์†ŒJVM์€ javac๋กœ ๋ณ€ํ™˜๋œ "์ž๋ฐ” ๋ฐ”์ดํŠธ ์ฝ”๋“œ (.class) "๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์ƒ ์ปดํ“จํ„ฐ1. ํด๋ž˜์Šค ๋กœ๋” ์‹œ์Šคํ…œํด๋ž˜์Šค๋ฅผ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋กœ๋“œํ•˜๋Š” ์—ญํ• JVM์€ ๋ถ€๋ชจ ์šฐ์„ (Parent-First) ์œ„์ž„ ๋ชจ๋ธ๋กœ ๋กœ๋”ฉ ํด๋ž˜์Šค๋ฅผ ๋กœ๋“œํ•  ๋•Œ ๋จผ์ € ๋ถ€๋ชจ ๋กœ๋”์—๊ฒŒ ์œ„์ž„ํ•˜๊ณ , ๋ถ€๋ชจ๊ฐ€ ์ฐพ์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ์—๋งŒ ์ž์‹ ์ด ์ง์ ‘ ๋กœ๋“œ 2. ๋Ÿฐํƒ€์ž„ ๋ฐ์ดํ„ฐ ์˜์—ญํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ์Šค๋ ˆ๋“œ๋งˆ๋‹ค ๋…๋ฆฝ์ ์ธ ๊ณต๊ฐ„(Stack, PC, Native Stack)๊ณผ ๋ชจ๋“  ์Šค๋ ˆ๋“œ๊ฐ€ ๊ณต์œ ํ•˜๋Š” ๊ณต๊ฐ„(Heap, Metaspace)์œผ๋กœ ๋‚˜๋‰จ 3. ์‹คํ–‰ ์—”์ง„๋กœ๋“œ๋œ ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋ฅผ ์‹ค์ œ ์‹คํ–‰ (interpreter, JIT Compiler, Garbage Collector) - Interpreter: ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋ฅผ ํ•œ.. 2025. 8. 31.
[Java] ๋ฌธ์ž์—ด ๊ด€๋ จ ํ•จ์ˆ˜ 1 โœ… ๋ฌธ์ž์—ด ์ธ๋ฑ์‹ฑ / ์Šฌ๋ผ์ด์‹ฑcharAt(i): i ๋ฒ”์œ„ ์ฒดํฌ ํ•„์š” (IndexOutOfBoundsException ์˜ˆ์™ธ ๋ฐœ์ƒ ๊ฐ€๋Šฅ)๋ณต์žก๋„:charAt == O(1)substring == O(k) (k=์ž˜๋ผ๋‚ธ ๊ธธ์ด; Java 9+๋Š” ์ƒˆ ๋ฐฐ์—ด ๋ณต์‚ฌ)substring์ด ์ž˜๋ผ๋‚ธ ๋ถ€๋ถ„์„ ์ƒˆ char ๋ฐฐ์—ด๋กœ ๋ณต์‚ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์›๋ณธ๊ณผ๋Š” ๋…๋ฆฝ์ ์ธ ๋ฌธ์ž์—ด์ด ๋˜๋‚˜ ์ž˜๋ผ๋‚ผ ๋•Œ๋งˆ๋‹ค ์ƒˆ ๋ฐฐ์—ด์ด ๋งŒ๋“ค์–ด์ ธ ๋ณต์‚ฌ ๋น„์šฉ O(k)์ด ํ•„์š”!String s = "Hello";char c = s.charAt(1); // 'e' (0-based)String sub = s.substring(1, 4); // "ell" (start ์ธ๋ฑ์Šค๋Š” ํฌํ•จ, end ์ธ๋ฑ์Šค ์ œ์™ธ) โœ… ํŠน์ • ๋ฌธ์ž๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธcontains๋Š” ๋ถ€๋ถ„๋ฌธ์ž์—ด .. 2025. 8. 19.
์•Œ๊ณ ๋ฆฌ์ฆ˜ / ์ž๋ฃŒ๊ตฌ์กฐ / ๋ณต์žก๋„ 1๏ธโƒฃ ์•Œ๊ณ ๋ฆฌ์ฆ˜/์ž๋ฃŒ๊ตฌ์กฐ๋ž€?1. ์•Œ๊ณ ๋ฆฌ์ฆ˜๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ ˆ์ฐจ์™€ ๋ฐฉ๋ฒ•.“์ž…๋ ฅ → ์ ˆ์ฐจ → ์ถœ๋ ฅ”์˜ ์„ค๊ณ„์„œ.๊ฐ™์€ ์ผ์„ ๋” ๋นจ๋ฆฌ/์ ์€ ์ž์›์œผ๋กœ ๋๋‚ด๊ธฐ ์œ„ํ•œ ์‚ฌ๊ณ  ๋ฐฉ๋ฒ•.๋ฌธ์ œ๋ฅผ ๋‹จ๊ณ„๋กœ ์ชผ๊ฐœ๊ณ , ๊ฐ ๋‹จ๊ณ„์˜ ์ •ํ™•์„ฑ๊ณผ ํšจ์œจ์„ ์ฆ๋ช…/๋น„๊ตํ•œ๋‹ค. 2. ์ž๋ฃŒ๊ตฌ์กฐ“๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ๋‹ด๊ณ  ๊บผ๋‚ผ๊นŒ?”์— ๋Œ€ํ•œ ์„ค๊ณ„.๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ•„์š”๋ฐฐ์—ด/๋ฆฌ์ŠคํŠธ/์Šคํƒ/ํ/ํ•ด์‹œ/ํŠธ๋ฆฌ/๊ทธ๋ž˜ํ”„ ๋“ฑ์€ ์—ฐ์‚ฐ ํŒจํ„ด(ํƒ์ƒ‰·์‚ฝ์ž…·์‚ญ์ œ·์ˆœํšŒ)์„ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌ์กฐ๋ฅผ ๋ฐ”๊พผ ๊ฒฐ๊ณผ๋ฌผ 3. ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์ž๋ฃŒ๊ตฌ์กฐ์˜ ๊ด€๊ณ„์ตœ์†Œํ•œ์˜ ์ž์›(์‹œ๊ฐ„ ๋ฐ ๋ฉ”๋ชจ๋ฆฌ)์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ ์ ˆํ•œ ๊ทธ๋ฆ‡(์ž๋ฃŒ๊ตฌ์กฐ)๋ฅผ ์„ ํƒํ•˜๊ณ , ์ตœ์ข…์ ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ์ •ํ™•ํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ 2๏ธโƒฃ ์‹œ๊ฐ„๋ณต์žก๋„/๊ณต๊ฐ„๋ณต์žก๋„/๋น…์˜ค ํ‘œ๊ธฐ๋ฒ•์ด๋ž€?1. ์‹œ๊ฐ„๋ณต์žก๋„(Time Complexity)์•Œ๊ณ .. 2025. 8. 19.
์šด์˜์ฒด์ œ IPC์™€ ์‹œ๊ทธ๋„ ์ •๋ฆฌ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์—์„œ ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹ (IPC)๊ณผ ์‹œ๊ทธ๋„ ์ฒ˜๋ฆฌ ๋ฐฉ์‹,strace ๋ช…๋ น์–ด์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ๊ฐœ๋…์„ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ“ก IPC (Inter-Process Communication)ํ”„๋กœ์„ธ์Šค ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•œ ์ˆ˜๋‹จ.1. PIPE (์ต๋ช… ํŒŒ์ดํ”„)๋ถ€๋ชจ-์ž์‹ ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹ ์—์„œ ์‚ฌ์šฉfork() ํ˜ธ์ถœ ์‹œ ๋ถ€๋ชจ์™€ ์ž์‹ ๊ฐ„ ํŒŒ์ดํ”„ ์—ฐ๊ฒฐ ๊ฐ€๋Šฅํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๊ธฐ๋งŒ, ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ธฐ๋งŒ ๊ฐ€๋Šฅ (ํ•œ ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ํ†ต์‹ ์ด ๊ฐ€๋Šฅ, ๋ฐ˜์ด์ค‘ ํ†ต์‹ )๋งŒ์•ฝ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฝ๊ธฐ์™€ ์“ฐ๊ธฐ ํ†ต์‹  ๋ชจ๋‘๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค๋ฉด (์–‘๋ฐฉํ–ฅ ํ†ต์‹  ์‹œ) ๋‘ ๊ฐœ์˜ PIPE ํ•„์š”2. Named PIPE (FIFO)๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„๊ฐ€ ์•„๋‹Œ ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค ๊ฐ„์—๋„ ํ†ต์‹  ๊ฐ€๋Šฅํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•œ ์ด์œ ๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ์— ํŒŒ์ผ ์‹œ์Šคํ…œ์— FIFO ํŒŒ์ผ.. 2025. 4. 11.
๊ธฐ์‚ฌ๋‹จ์›์˜ ๋ฌด๊ธฐ - Java [์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต] โค๏ธ Problem ๋”๋ณด๊ธฐ ๋ฌธ์ œ ์ˆซ์ž๋‚˜๋ผ ๊ธฐ์‚ฌ๋‹จ์˜ ๊ฐ ๊ธฐ์‚ฌ์—๊ฒŒ๋Š” 1๋ฒˆ๋ถ€ํ„ฐ number๊นŒ์ง€ ๋ฒˆํ˜ธ๊ฐ€ ์ง€์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์‚ฌ๋“ค์€ ๋ฌด๊ธฐ์ ์—์„œ ๋ฌด๊ธฐ๋ฅผ ๊ตฌ๋งคํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๊ธฐ์‚ฌ๋Š” ์ž์‹ ์˜ ๊ธฐ์‚ฌ ๋ฒˆํ˜ธ์˜ ์•ฝ์ˆ˜ ๊ฐœ์ˆ˜์— ํ•ด๋‹นํ•˜๋Š” ๊ณต๊ฒฉ๋ ฅ์„ ๊ฐ€์ง„ ๋ฌด๊ธฐ๋ฅผ ๊ตฌ๋งคํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, ์ด์›ƒ๋‚˜๋ผ์™€์˜ ํ˜‘์•ฝ์— ์˜ํ•ด ๊ณต๊ฒฉ๋ ฅ์˜ ์ œํ•œ์ˆ˜์น˜๋ฅผ ์ •ํ•˜๊ณ , ์ œํ•œ์ˆ˜์น˜๋ณด๋‹ค ํฐ ๊ณต๊ฒฉ๋ ฅ์„ ๊ฐ€์ง„ ๋ฌด๊ธฐ๋ฅผ ๊ตฌ๋งคํ•ด์•ผ ํ•˜๋Š” ๊ธฐ์‚ฌ๋Š” ํ˜‘์•ฝ๊ธฐ๊ด€์—์„œ ์ •ํ•œ ๊ณต๊ฒฉ๋ ฅ์„ ๊ฐ€์ง€๋Š” ๋ฌด๊ธฐ๋ฅผ ๊ตฌ๋งคํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 15๋ฒˆ์œผ๋กœ ์ง€์ •๋œ ๊ธฐ์‚ฌ๋‹จ์›์€ 15์˜ ์•ฝ์ˆ˜๊ฐ€ 1, 3, 5, 15๋กœ 4๊ฐœ ์ด๋ฏ€๋กœ, ๊ณต๊ฒฉ๋ ฅ์ด 4์ธ ๋ฌด๊ธฐ๋ฅผ ๊ตฌ๋งคํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ, ์ด์›ƒ๋‚˜๋ผ์™€์˜ ํ˜‘์•ฝ์œผ๋กœ ์ •ํ•ด์ง„ ๊ณต๊ฒฉ๋ ฅ์˜ ์ œํ•œ์ˆ˜์น˜๊ฐ€ 3์ด๊ณ  ์ œํ•œ์ˆ˜์น˜๋ฅผ ์ดˆ๊ณผํ•œ ๊ธฐ์‚ฌ๊ฐ€ ์‚ฌ์šฉํ•  ๋ฌด๊ธฐ์˜ ๊ณต๊ฒฉ๋ ฅ์ด 2๋ผ๋ฉด, 15๋ฒˆ์œผ๋กœ ์ง€์ •๋œ ๊ธฐ์‚ฌ๋‹จ์›์€ ๋ฌด๊ธฐ์ .. 2023. 1. 3.