[์•Œ๊ณ ๋ฆฌ์ฆ˜] *๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜
Computer Science/์•Œ๊ณ ๋ฆฌ์ฆ˜ 2021. 11. 8. 22:29

๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ญ˜๊นŒ? ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€ ํ•˜๋‚˜์˜ ์ถœ๋ฐœ์ ์—์„œ ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋„์ฐฉ์ ์— ๋Œ€ํ•œ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋Œ€์‹  ์กฐ๊ฑด์ด ์žˆ๋Š”๋ฐ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ฐ„์„ ๋“ค์˜ ๋น„์šฉ์ด ๋ชจ๋‘ ์–‘์ˆ˜์—ฌ์•ผ๋งŒ ์ ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋งŒ์•ฝ ์Œ์˜ ๋น„์šฉ์„ ๊ฐ€์ง„ ๊ฐ„์„ ์ด ์กด์žฌํ•œ๋‹ค๋ฉด ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์—†๋‹ค. ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ฉ”์ธ ์•„์ด๋””์–ด๋Š” ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ(DP)์ด๋‹ค. ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ธฐ์กด์— ๊ตฌํ•ด๋†“์€ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐฑ์‹ ํ•ด๋‚˜๊ฐ€๋Š” ๋ฉ”์ธ ์•„์ด๋””์–ด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. (์ตœ๋‹จ ๊ฒฝ๋กœ๋Š” ์ตœ๋‹จ ๊ฒฝ๋กœ๋“ค์˜ ์ง‘ํ•ฉ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค) ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ณต์žก๋„ (์ข€ ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณผ ๊ฒƒ) ์›๋ž˜ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ O(V^2)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ์ง€..

[๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] Anomaly (์ด์ƒ)
Computer Science/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค 2021. 11. 7. 19:44

ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด ์ •๊ทœํ™”๋ฅผ ํ•ด์•ผํ•˜๋Š” ์ด์œ ๋Š” Anomaly(์ด์ƒ ํ˜„์ƒ)์ด ๋‚˜ํƒ€๋‚˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์‚ฝ์ž… ์ด์ƒ ๋ถˆํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ํ•จ๊ป˜ ์ €์žฅํ•˜์ง€ ์•Š๊ณ ์„œ๋Š” ์–ด๋–ค ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ Faculty and Courses ํ…Œ์ด๋ธ”์— Course Code๊ฐ€ ์—†๋Š” Faculty์ธ ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒ ์‚ฝ์ž…ํ•ด์•ผ ํ• ๊นŒ? → ์—†์Œ์„ ํ‘œ์‹œํ•˜๋Š” ๋ถˆํ•„์š”ํ•œ ์ •๋ณด๊ฐ€ ์‚ฝ์ž… ๋˜์–ด์•ผํ•จ! ๊ฐฑ์‹  ์ด์ƒ ์ผ๋ถ€๋งŒ ๋ณ€๊ฒฝํ•˜์—ฌ, ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถˆ์ผ์น˜ ํ•˜๋Š” ๊ฒฝ์šฐ ๊น€์‚ฌ๋ž‘ → ๊น€์†Œ์—ฐ์œผ๋กœ ๋ฐ”๊พธ๋Š” ๊ฒฝ์šฐ ๋ชจ๋“  ๊น€์‚ฌ๋ž‘์ด ๊น€์†Œ์—ฐ์œผ๋กœ ๋ฐ”๋€Œ์–ด์•ผ๋งŒ ํ•œ๋‹ค. → ์ฒซ๋ฒˆ์งธ ํŠœํ”Œ๊ณผ ์„ธ๋ฒˆ์งธ ํŠœํ”Œ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ๋ถˆ์ผ์น˜ ๋ฐœ์ƒ ์‚ญ์ œ ์ด์ƒ ํŠœํ”Œ ์‚ญ์ œ๋กœ ์ธํ•ด ๊ผญ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๊นŒ์ง€ ํ•จ๊ป˜ ์‚ญ์ œ๋˜๋Š” ๊ฒฝ์šฐ ENG-206 ๊ฐ•์˜๋ฅผ ์ œ๊ฑฐํ•˜๋ ค๊ณ  389๋ฒˆ ํŠœํ”Œ์„ ์ œ๊ฑฐํ–ˆ๋”๋‹ˆ Dr.Giddens์˜ ์ •๋ณด๋„ ์‚ญ์ œ๋˜์—ˆ๋‹ค. → ๊ผญ..

[์ •๋ ฌ] ๊ธฐ์ˆ˜ ์ •๋ ฌ
Computer Science/์•Œ๊ณ ๋ฆฌ์ฆ˜ 2021. 11. 7. 01:00

๊ธฐ์ˆ˜ ์ •๋ ฌ์ด๋ž€? ๋‚ฎ์€ ์ž๋ฆฌ์ˆ˜๋ถ€ํ„ฐ ๋น„๊ตํ•˜์—ฌ ์ •๋ ฌํ•ด๊ฐ€๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ฉฐ ๋น„๊ต ์—ฐ์‚ฐ์ด ๋ถˆํ•„์š”ํ•œ ์ •๋ ฌ์ด๋‹ค. ์ž๋ฆฟ์ˆ˜์— ํ•ด๋‹น๋˜๋Š” ๊ฐ’์— ๋”ฐ๋ผ ๋ฒ„ํ‚ท์— ๋ฐ์ดํ„ฐ๋“ค์„ ์‚ฝ์ž…ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋น„๊ต ์—ฐ์‚ฐ์ด ๋ถˆํ•„์š”ํ•˜์ง€๋งŒ ์ž๋ฆฟ์ˆ˜๋งŒํผ์˜ ์ถ”๊ฐ€์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค. (๋˜ํ•œ ์ž๋ฆฟ์ˆ˜๋งŒํผ์˜ ์ถ”๊ฐ€์ ์ธ ๋กœ์ง๋„ ํ•„์š”ํ•˜๋‹ค) ์ž๋ฆฟ์ˆ˜๊ฐ€ ๋น„์ •์ƒ์ ์œผ๋กœ ํฐ ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด ์“ธ๋ฐ์—†๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ํฌ๊ธฐ๋ฅผ ์ฐจ์ง€ํ•˜๊ฒŒ ๋œ๋‹ค. ๊ตฌํ˜„๊ณผ ์‹œ๊ฐ„ ๋ณต์žก๋„ ์ž๋ฐ”๋ฅผ ์ด์šฉํ•œ ๊ตฌํ˜„ public static void main(String[] args) { RadixSort radixSort = new RadixSort(); for(int i=0; i

GCD(์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜), LCM(์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜) ๊ตฌํ•˜๊ธฐ
Computer Science/์•Œ๊ณ ๋ฆฌ์ฆ˜ 2021. 11. 2. 22:19

์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜ ๊ตฌํ•˜๊ธฐ ์œ ํด๋ฆฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€? ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜(GCD)๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ, gcd(a,b)์™€ (r=a%b๋ผ๊ณ  ํ•  ๋•Œ), gcd(b,r)์˜ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๋Š” ๊ฐ™๋‹ค. ์ฆ‰, gcd(a,b) == gcd(b,r)์ด๋‹ค. ์ด ์„ฑ์งˆ์— ๋”ฐ๋ผ gcd(a,b) == gcd(b, a%b) == gcd(a%b, (a%b)%b).... ๋ฐ˜๋ณตํ•˜์—ฌ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด ๋˜์—ˆ์„ ๋•Œ ๋‚˜๋‰˜์–ด์ง€๋Š” ์ˆ˜๊ฐ€ a์™€ b์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๊ฐ€ ๋œ๋‹ค. ์ •๋ฆฌํ•˜์ž๋ฉด gcd(a,b) -> cdg(a, a%b) .... -> gcd(x, 0)์ด๋ฉด a์™€ b์˜ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๋Š” x์ด๋‹ค. ๊ตฌํ˜„ private static int gcd(int a, int b) { if(b == 0) return a; return gcd(b, a%b); } ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•..

[์šด์˜์ฒด์ œ] ํ”„๋กœ์„ธ์Šค ์ƒํƒœ
Computer Science/์šด์˜์ฒด์ œ 2021. 11. 2. 00:14

ํ”„๋กœ์„ธ์Šค vs ํ”„๋กœ๊ทธ๋žจ ํ”„๋กœ๊ทธ๋žจ : ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ๋“ค์˜ ๋ชจ์Œ ํ”„๋กœ์„ธ์Šค : ํ”„๋กœ๊ทธ๋žจ์ด ์ปค๋„์— ๋“ฑ๋ก๋œ ์ƒํƒœ๋ฅผ ํ”„๋กœ์„ธ์Šค๋ผ๊ณ  ํ•œ๋‹ค. ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด ์ปค๋„์ด ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค. JOB : ํ”„๋กœ๊ทธ๋žจ + ๋ฐ์ดํ„ฐ ํ”„๋กœ์„ธ์Šค๋ž€? ์ปค๋„์— ๋“ฑ๋ก๋œ ์ปค๋„์˜ ๊ด€๋ฆฌํ•˜์— ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ ๊ฐ์ข… ์ž์›์„ ์š”์ฒญํ•˜๊ณ  ํ• ๋‹น๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๋™์  ๊ฐœ์ฒด PCB๋ฅผ ํ• ๋‹น ๋ฐ›์€ ๊ฐœ์ฒด PCB๋ž€? ์ปค๋„๋‚ด์— ์กด์žฌํ•˜๋ฉฐ, ํ”„๋กœ์„ธ์Šค์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. PCB์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•„๋“œ๊ฐ€ ์กด์žฌํ•œ๋‹ค. ์Šค์ผ€์ค„๋ง ์ •๋ณด ํ”„๋กœ์„ธ์Šค ์ƒํƒœ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์ •๋ณด ์ž…์ถœ๋ ฅ ์ƒํƒœ ์ •๋ณด ๋ฌธ๋งฅ ์ €์žฅ ์˜์—ญ ๊ณ„์ • ์ •๋ณด(๋‹ค์ค‘ ์‹œ์Šคํ…œ์ธ ๊ฒฝ์šฐ๋ฅผ ์œ„ํ•œ ์ •๋ณด) ํ”„๋กœ์„ธ์Šค ์ƒํƒœ Created State (-> ready or suspended ready) ํ”„๋กœ๊ทธ๋žจ์„ ์ปค๋„์— ๋“ฑ๋กํ•œ ์ƒํƒœ, PCB๋ฅผ..