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

์ „์ฒด ๊ธ€199

[์šด์˜์ฒด์ œ] 4. Process Management ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ Process Creation ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž์‹ ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ ๋ณต์ œ ์ƒ์„ฑ : process context - code, data, stack / CPU context - PCB์„ ๋ชจ๋‘ ๋ณต์‚ฌ ํ”„๋กœ์„ธ์Šค์˜ ํŠธ๋ฆฌ(๊ณ„์ธต ๊ตฌ์กฐ) ํ˜•์„ฑ ํ”„๋กœ์„ธ์Šค๋Š” ์ž์›์„ ํ•„์š”๋กœ ํ•จ : ์šด์˜์ฒด์ œ๋กœ๋ถ€ํ„ฐ ๋ฐ›๊ฑฐ๋‚˜ ๋ถ€๋ชจ์™€ ๊ณต์œ  ์ž์›์˜ ๊ณต์œ  ๋ถ€๋ชจ์™€ ์ž์‹์ด ๋ชจ๋“  ์ž์›์„ ๊ณต์œ ํ•˜๋Š” ๋ชจ๋ธ : Copy-on-write(COW) copy ์ž์ฒด๋Š” ๋น„ํšจ์œจ์ ์ด๊ณ  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‚ญ๋น„ํ•˜๋Š” ํ–‰์œ„ ๋ฆฌ๋ˆ…์Šค ๋“ฑ ํšจ์œจ์ ์ธ OS์—์„œ๋Š” ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ๊ณต์œ ํ•˜๊ณ  ๋‹ฌ๋ผ์ง€๋Š” ๊ฒƒ๋งŒ ์ผ๋ถ€ copy(write) ์ผ๋ถ€๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋ชจ๋ธ ์ „ํ˜€ ๊ณต์œ ํ•˜์ง€ ์•Š๋Š” ๋ชจ๋ธ(์ผ๋ฐ˜์  : ๋ณ„๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ถ€๋ชจ-์ž์‹ ๊ฒฝ์Ÿ) ์ˆ˜ํ–‰ Execution ๋ถ€๋ชจ์™€ ์ž์‹์ด ๊ณต์กดํ•˜๋ฉฐ ์ˆ˜ํ–‰๋˜๋Š” ๋ชจ.. 2022. 11. 27.
[์šด์˜์ฒด์ œ] 3. Process ํ”„๋กœ์„ธ์Šค์˜ ๊ฐœ๋… a program in execution ํ”„๋กœ์„ธ์Šค์˜ ๋ฌธ๋งฅ(context) ํŠน์ • ์‹œ์ ์—์„œ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๊ฐ€ ์–ด๋””๊นŒ์ง€ ์‹คํ–‰์„ ํ–ˆ๋Š”์ง€ ๊ทœ๋ช…ํ•˜๋Š” ์š”์†Œ 1) CPU ์ˆ˜ํ–‰ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํ•˜๋“œ์›จ์–ด ๋ฌธ๋งฅ : Program Counter, ๊ฐ์ข… register register๊ฐ€ ํ˜„์žฌ ์–ด๋–ค ๊ฐ’์„ ๊ฐ€์ง€๋Š”๊ฐ€ 2) ํ”„๋กœ์„ธ์Šค์˜ ์ฃผ์†Œ ๊ณต๊ฐ„ : code, data, stack code : ํ˜„์žฌ ์–ด๋””๊นŒ์ง€ ์ˆ˜ํ–‰ํ–ˆ๋Š”๊ฐ€ data : ํ˜„์žฌ ๋ณ€์ˆ˜์˜ ๊ฐ’์ด ๋ฌด์—‡์ธ๊ฐ€ stack : ๋ฌด์Šจ ๋‚ด์šฉ์„ ์–ด๋””๊นŒ์ง€ ์ €์žฅํ–ˆ๋Š”๊ฐ€ 3) ํ”„๋กœ์„ธ์Šค ๊ด€๋ จ ์ปค๋„ ์ž๋ฃŒ ๊ตฌ์กฐ : PCB(Process Control Block), Kernel stack process ์ƒ์„ฑ๋  ๋•Œ๋งˆ๋‹ค pcb๋ฅผ ๋‘์–ด ๊ด€๋ฆฌ kernel stack : system call ์‹œ kerne.. 2022. 11. 20.
[์šด์˜์ฒด์ œ] 2. System Structure & Program Execution 2 ๋™๊ธฐ์‹ ์ž…์ถœ๋ ฅ๊ณผ ๋น„๋™๊ธฐ์‹ ์ž…์ถœ๋ ฅ 1) ๋™๊ธฐ์‹ ์ž…์ถœ๋ ฅ synchronous I/O I/O ์š”์ฒญ ํ›„ ์ž…์ถœ๋ ฅ ์ž‘์—…์ด ์™„๋ฃŒ๋œ ํ›„์—์•ผ ์ œ์–ด๊ฐ€ ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์— ๋„˜์–ด๊ฐ. ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž…์ถœ๋ ฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋™์•ˆ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ / ์ž…์ถœ๋ ฅ์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ์•„๋ฌด๊ฒƒ๋„ ํ•˜์ง€ ์•Š๊ณ  ๊ธฐ๋‹ค๋ ค์•ผ ํ•จ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•1 : ์ผ์„ ๋ชปํ•˜๋Š” ๋™์•ˆ CPU๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ I/O๊ฐ€ ๋๋‚  ๋•Œ๊นŒ์ง€ CPU๋ฅผ ๋‚ญ๋น„์‹œํ‚ด ๋งค์‹œ์  ํ•˜๋‚˜์˜ I/O๋งŒ ์ผ์–ด๋‚  ์ˆ˜ ์žˆ์Œ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•2 : ์ผ์„ ๋ชปํ•˜๋Š” ๋™์•ˆ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ CPU๋ฅผ ๋„˜๊ฒจ์คŒ I/O๊ฐ€ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ํ•ด๋‹น ํ”„๋กœ๊ทธ๋žจ์—๊ฒŒ์„œ CPU๋ฅผ ๋นผ์•—์Œ I/O ์ฒ˜๋ฆฌ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ค„์— ๊ทธ ํ”„๋กœ๊ทธ๋žจ์„ ์ค„ ์„ธ์›€ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์— CPU๋ฅผ ์คŒ -> ํ˜„์žฌ ์ž‘์—… ๋๋‚˜๋ฉด interrupt ๊ฑธ์–ด์„œ CPU ๋‹ค์‹œ ๊ฐ€์ ธ์˜ด 2) ๋น„๋™๊ธฐ์‹ ์ž…์ถœ๋ ฅ asynchronous .. 2022. 11. 20.
[์šด์˜์ฒด์ œ] 2. System Structure & Program Execution 1 ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ ๊ตฌ์กฐ 1. Memory CPU์˜ ์ž‘์—…๊ณต๊ฐ„. CPU๊ฐ€ ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ด๋ถ€ ๊ธฐ์–ต์žฅ์น˜๋กœ, ํŠน์ • ํ”„๋กœ๊ทธ๋žจ์ด CPU์—์„œ ์‹คํ–‰๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•ด๋‹น ๋ถ€๋ถ„์ด ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™€ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ปดํ“จํ„ฐ ๋ถ€ํŒ… ์‹œ, OS๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€๊ฒŒ ๋จ -> ๋ฉ”๋ชจ๋ฆฌ์— ์ƒ์ฃผํ•˜๋Š” CPU์˜ ์ž‘์—… ๊ณต๊ฐ„์„ main memory๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค 2. I/O Device 1) Device Controller I/O ์žฅ์น˜๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ผ์ข…์˜ ์ž‘์€ CPU๋กœ, I/O๊ฐ€ ๋๋‚ฌ์„ ๊ฒฝ์šฐ interrupt๋กœ CPU์—๊ฒŒ ํ•ด๋‹น ์‚ฌ์‹ค์„ ์•Œ๋ฆฌ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค CPU์™€ I/O device์˜ ์ฒ˜๋ฆฌ ์†๋„๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— device๋งˆ๋‹ค controller๋ฅผ ๋‘์–ด ๊ด€๋ฆฌํ•œ๋‹ค. ์ œ์–ด ์ •๋ณด๋ฅผ ์œ„ํ•ด control register, status register / local.. 2022. 11. 20.
[์šด์˜์ฒด์ œ] 1. Introduction to Operating Systems ์šด์˜์ฒด์ œ(Operating System, OS) ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด ๋ฐ”๋กœ ์œ„์— ์„ค์น˜๋˜์–ด ์‚ฌ์šฉ์ž ๋ฐ ๋‹ค๋ฅธ ๋ชจ๋“  ์†Œํ”„ํŠธ์›จ์–ด์™€ ํ•˜๋“œ์›จ์–ด๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ณ„์ธต - ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌ(์ž์› ๊ด€๋ฆฌ์ž) : ํ”„๋กœ์„ธ์„œ, ๊ธฐ์–ต์žฅ์น˜, ์ž…์ถœ๋ ฅ ์žฅ์น˜ ๋“ฑ์˜ ํšจ์œจ์  / ํ˜•ํ‰์„ฑ ๊ด€๋ฆฌ ์ข์€ ์˜๋ฏธ์˜ ์šด์˜์ฒด์ œ(์ปค๋„) : ์šด์˜์ฒด์ œ์˜ ํ•ต์‹ฌ ๋ถ€๋ถ„์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์ƒ์ฃผํ•˜๋Š” ๋ถ€๋ถ„ ๋„“์€ ์˜๋ฏธ์˜ ์šด์˜์ฒด์ œ : ์ปค๋„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ฐ์ข… ์ฃผ๋ณ€ ์‹œ์Šคํ…œ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฐœ๋… ์šด์˜์ฒด์ œ์˜ ๋ชฉ์  1) ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌ ์ž์›: CPU, ๋ฉ”๋ชจ๋ฆฌ, ๊ฐ์ข… ์ž…์ถœ๋ ฅ ์žฅ์น˜(ํ•˜๋“œ์›จ์–ด ์ž์›) & ํ”„๋กœ์„ธ์Šค, ํŒŒ์ผ ๋ฉ”์‹œ์ง€(์†Œํ”„ํŠธ์›จ์–ด ์ž์›) ์ฃผ์–ด์ง„ ํ•˜๋“œ์›จ์–ด ์ž์›์œผ๋กœ ์ตœ๋Œ€ํ•œ์˜ ์„ฑ๋Šฅ์„ ๋‚ด๋Š” ๊ฒƒ์ด ๋ชฉ์  โ†’ ํšจ์œจ์ ์ด๊ณ  ํ˜•ํ‰์„ฑ์„ ๊ณ ๋ คํ•œ ์ž์› ๋ถ„๋ฐฐ ์‚ฌ์šฉ์ž.. 2022. 11. 13.
[๋ฐฑ์ค€/C++] 2504๋ฒˆ: ๊ด„ํ˜ธ์˜ ๊ฐ’ ๋ฌธ์ œ 4๊ฐœ์˜ ๊ธฐํ˜ธ โ€˜(โ€™, โ€˜)โ€™, โ€˜[โ€™, โ€˜]โ€™๋ฅผ ์ด์šฉํ•ด์„œ ๋งŒ๋“ค์–ด์ง€๋Š” ๊ด„ํ˜ธ์—ด ์ค‘์—์„œ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด๋ž€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜๋œ๋‹ค. ํ•œ ์Œ์˜ ๊ด„ํ˜ธ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ โ€˜()โ€™์™€ โ€˜[]โ€™๋Š” ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด๋‹ค. ๋งŒ์ผ X๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด๋ฉด โ€˜(X)โ€™์ด๋‚˜ โ€˜[X]โ€™๋„ ๋ชจ๋‘ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด ๋œ๋‹ค. X์™€ Y ๋ชจ๋‘ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด๋ผ๋ฉด ์ด๋“ค์„ ๊ฒฐํ•ฉํ•œ XY๋„ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด โ€˜(()[[]])โ€™๋‚˜ โ€˜(())[][]โ€™ ๋Š” ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด์ง€๋งŒ โ€˜([)]โ€™ ๋‚˜ โ€˜(()()[]โ€™ ์€ ๋ชจ๋‘ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด ์•„๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์–ด๋–ค ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด X์— ๋Œ€ํ•˜์—ฌ ๊ทธ ๊ด„ํ˜ธ์—ด์˜ ๊ฐ’(๊ด„ํ˜ธ๊ฐ’)์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ํ•˜๊ณ  ๊ฐ’(X)๋กœ ํ‘œ์‹œํ•œ๋‹ค. โ€˜()โ€™ ์ธ ๊ด„ํ˜ธ์—ด์˜ ๊ฐ’์€ 2์ด๋‹ค. โ€˜[]โ€™ ์ธ ๊ด„ํ˜ธ์—ด์˜ ๊ฐ’์€ 3์ด๋‹ค. โ€˜(X)โ€™ ์˜ ๊ด„ํ˜ธ๊ฐ’์€ 2ร—๊ฐ’.. 2022. 7. 31.
[๋ฐฑ์ค€/C++] 11866๋ฒˆ: ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ 0 ๋ฌธ์ œ ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ๊นŒ์ง€ N๋ช…์˜ ์‚ฌ๋žŒ์ด ์›์„ ์ด๋ฃจ๋ฉด์„œ ์•‰์•„์žˆ๊ณ , ์–‘์˜ ์ •์ˆ˜ K(โ‰ค N)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด์ œ ์ˆœ์„œ๋Œ€๋กœ K๋ฒˆ์งธ ์‚ฌ๋žŒ์„ ์ œ๊ฑฐํ•œ๋‹ค. ํ•œ ์‚ฌ๋žŒ์ด ์ œ๊ฑฐ๋˜๋ฉด ๋‚จ์€ ์‚ฌ๋žŒ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ์›์„ ๋”ฐ๋ผ ์ด ๊ณผ์ •์„ ๊ณ„์†ํ•ด ๋‚˜๊ฐ„๋‹ค. ์ด ๊ณผ์ •์€ N๋ช…์˜ ์‚ฌ๋žŒ์ด ๋ชจ๋‘ ์ œ๊ฑฐ๋  ๋•Œ๊นŒ์ง€ ๊ณ„์†๋œ๋‹ค. ์›์—์„œ ์‚ฌ๋žŒ๋“ค์ด ์ œ๊ฑฐ๋˜๋Š” ์ˆœ์„œ๋ฅผ (N, K)-์š”์„ธํ‘ธ์Šค ์ˆœ์—ด์ด๋ผ๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด (7, 3)-์š”์„ธํ‘ธ์Šค ์ˆœ์—ด์€ ์ด๋‹ค. N๊ณผ K๊ฐ€ ์ฃผ์–ด์ง€๋ฉด (N, K)-์š”์„ธํ‘ธ์Šค ์ˆœ์—ด์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— N๊ณผ K๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค K โ‰ค N โ‰ค 1,000) ์ถœ๋ ฅ ์˜ˆ์ œ์™€ ๊ฐ™์ด ์š”์„ธํ‘ธ์Šค ์ˆœ์—ด์„ ์ถœ๋ ฅํ•œ๋‹ค. ํ’€์ด ๋ฐ์ดํ„ฐ์˜ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ๊ฐ€ ๊ฐ๊ฐ ์ด๋ฃจ์–ด์ง€๋Š” ํ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.. 2022. 7. 31.
[๋ฐฑ์ค€/C++] 18115๋ฒˆ: ์นด๋“œ ๋†“๊ธฐ ๋ฌธ์ œ ์ˆ˜ํ˜„์ด๋Š” ์นด๋“œ ๊ธฐ์ˆ ์„ ์—ฐ์Šตํ•˜๊ณ  ์žˆ๋‹ค. ์ˆ˜ํ˜„์ด์˜ ์†์— ๋“ค๋ฆฐ ์นด๋“œ๋ฅผ ํ•˜๋‚˜์”ฉ ๋‚ด๋ ค๋†“์•„ ๋ฐ”๋‹ฅ์— ์Œ“์œผ๋ ค๊ณ  ํ•œ๋‹ค. ์ˆ˜ํ˜„์ด๊ฐ€ ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ ์€ ๋‹ค์Œ 3๊ฐ€์ง€๋‹ค. ์ œ์ผ ์œ„์˜ ์นด๋“œ 1์žฅ์„ ๋ฐ”๋‹ฅ์— ๋‚ด๋ ค๋†“๋Š”๋‹ค. ์œ„์—์„œ ๋‘ ๋ฒˆ์งธ ์นด๋“œ๋ฅผ ๋ฐ”๋‹ฅ์— ๋‚ด๋ ค๋†“๋Š”๋‹ค. ์นด๋“œ๊ฐ€ 2์žฅ ์ด์ƒ์ผ ๋•Œ๋งŒ ์“ธ ์ˆ˜ ์žˆ๋‹ค. ์ œ์ผ ๋ฐ‘์— ์žˆ๋Š” ์นด๋“œ๋ฅผ ๋ฐ”๋‹ฅ์— ๋‚ด๋ ค๋†“๋Š”๋‹ค. ์นด๋“œ๊ฐ€ 2์žฅ ์ด์ƒ์ผ ๋•Œ๋งŒ ์“ธ ์ˆ˜ ์žˆ๋‹ค. ์ˆ˜ํ˜„์ด๋Š” ์ฒ˜์Œ์— ์นด๋“œ N์žฅ์„ ๋“ค๊ณ  ์žˆ๋‹ค. ์นด๋“œ์—๋Š” 1๋ถ€ํ„ฐ N๊นŒ์ง€์˜ ์ •์ˆ˜๊ฐ€ ์ค‘๋ณต๋˜์ง€ ์•Š๊ฒŒ ์ ํ˜€ ์žˆ๋‹ค. ๊ธฐ์ˆ ์„ N๋ฒˆ ์‚ฌ์šฉํ•˜์—ฌ ์นด๋“œ๋ฅผ ๋‹ค ๋‚ด๋ ค๋†“์•˜์„ ๋•Œ, ๋†“์—ฌ ์žˆ๋Š” ์นด๋“œ๋“ค์„ ํ™•์ธํ–ˆ๋”๋‹ˆ ์œ„์—์„œ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ 1, 2, โ€ฆ, N์ด ์ ํ˜€ ์žˆ์—ˆ๋‹ค! ๋†€๋ž€ ์ˆ˜ํ˜„์ด๋Š” ์ฒ˜์Œ์— ์นด๋“œ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ฐฐ์น˜๋˜์–ด ์žˆ์—ˆ๋Š”์ง€ ๊ถ๊ธˆํ•ด์กŒ๋‹ค. ์ฒ˜์Œ ์นด๋“œ์˜ ์ƒํƒœ๋ฅผ ์ถœ๋ ฅํ•˜์—ฌ๋ผ. ์ž…๋ ฅ ์ฒซ ๋ฒˆ์งธ ์ค„์—.. 2022. 7. 24.
[๋ฐฑ์ค€/C++] 2108๋ฒˆ: ํ†ต๊ณ„ํ•™ ๋ฌธ์ œ ์ˆ˜๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ํ†ต๊ณ„ํ•™์—์„œ ์ƒ๋‹นํžˆ ์ค‘์š”ํ•œ ์ผ์ด๋‹ค. ํ†ต๊ณ„ํ•™์—์„œ N๊ฐœ์˜ ์ˆ˜๋ฅผ ๋Œ€ํ‘œํ•˜๋Š” ๊ธฐ๋ณธ ํ†ต๊ณ„๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ๋“ค์ด ์žˆ๋‹ค. ๋‹จ, N์€ ํ™€์ˆ˜๋ผ๊ณ  ๊ฐ€์ •ํ•˜์ž. ์‚ฐ์ˆ ํ‰๊ท  : N๊ฐœ์˜ ์ˆ˜๋“ค์˜ ํ•ฉ์„ N์œผ๋กœ ๋‚˜๋ˆˆ ๊ฐ’ ์ค‘์•™๊ฐ’ : N๊ฐœ์˜ ์ˆ˜๋“ค์„ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ๋กœ ๋‚˜์—ดํ–ˆ์„ ๊ฒฝ์šฐ ๊ทธ ์ค‘์•™์— ์œ„์น˜ํ•˜๋Š” ๊ฐ’ ์ตœ๋นˆ๊ฐ’ : N๊ฐœ์˜ ์ˆ˜๋“ค ์ค‘ ๊ฐ€์žฅ ๋งŽ์ด ๋‚˜ํƒ€๋‚˜๋Š” ๊ฐ’ ๋ฒ”์œ„ : N๊ฐœ์˜ ์ˆ˜๋“ค ์ค‘ ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ์†Ÿ๊ฐ’์˜ ์ฐจ์ด N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋„ค ๊ฐ€์ง€ ๊ธฐ๋ณธ ํ†ต๊ณ„๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 โ‰ค N โ‰ค 500,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹จ, N์€ ํ™€์ˆ˜์ด๋‹ค. ๊ทธ ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” ์ •์ˆ˜๋“ค์ด ์ฃผ์–ด์ง„๋‹ค. ์ž…๋ ฅ๋˜๋Š” ์ •์ˆ˜์˜ ์ ˆ๋Œ“๊ฐ’์€ 4,000์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์—๋Š” ์‚ฐ์ˆ ํ‰๊ท ์„ ์ถœ๋ ฅํ•œ๋‹ค. ์†Œ์ˆ˜์  ์ดํ•˜ .. 2022. 7. 24.