Computer Science

์Šค์ผ€์ค„๋ง? ํ•˜๋‚˜์˜ ๊ด€๋ฆฌ์ž๋กœ ํ”„๋กœ์„ธ์Šค๋“ค์˜ ์—ฌ๋Ÿฌ ์ƒํ™ฉ์„ ๊ณ ๋ คํ•˜์—ฌ cpu์™€ ์‹œ์Šคํ…œ ์ž์›์„ ์–ด๋–ป๊ฒŒ ๋ฐฐ์ •ํ•  ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ์—ญํ• ์„ ํ•จ - ๊ณ ์ˆ˜์ค€ ์Šค์ผ€์ค„๋ง (๊ฐ€์žฅ ํฐ ํ‹€์—์„œ ์ด๋ฃจ์–ด์ง€๋Š” ์Šค์ผ€์ค„๋ง) ์–ด๋–ค ์ž‘์—…์š”์ฒญ์ด ์˜ค๋ฉด ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ์‹œ์Šคํ…œ์˜ ์ƒํ™ฉ์„ ๊ณ ๋ คํ•˜์—ฌ ์ž‘์—…์„ ์Šน์ธํ• ์ง€, ๊ฑฐ๋ถ€ํ• ์ง€ ๊ฒฐ์ •ํ•จ(์Šน์ธ ์Šค์ผ€์ค„๋ง ์ด๋ผ๊ณ ๋„ ํ•จ) - ์ค‘๊ฐ„์ˆ˜์ค€ ์Šค์ผ€์ค„๋ง ์ „์ฒด ์‹œ์Šคํ…œ์˜ ํ™œ์„ฑํ™”๋œ ํ”„๋กœ์„ธ์Šค ์ˆ˜๋ฅผ ์กฐ์ ˆํ•˜์—ฌ ๊ณผ๋ถ€ํ™”๋ฅผ ๋ง‰์Œ - ์ €์ˆ˜์ค€ ์Šค์ผ€์ค„๋ง ์–ด๋–ค ํ”„๋กœ์„ธ์Šค์— CPU๋ฅผ ํ• ๋‹นํ•˜๊ณ  ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๋ฅผ ๋Œ€๊ธฐ ์ƒํƒœ๋กœ ๋ณด๋‚ผ์ง€ ๋“ฑ์„ ๊ฒฐ์ •ํ•จ ์•„์ฃผ ์งง์€ ์‹œ๊ฐ„์— ์ผ์–ด๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹จ๊ธฐ ์Šค์ผ€์ค„๋ง์ด๋ผ๊ณ ๋„ ํ•จ ์Šค์ผ€์ค„๋ง์˜ ๋ชฉ์  ๊ทผ๋ณธ์ ์œผ๋กœ ์ด๋Ÿฐ ์Šค์ผ€์ค„๋ง์„ ์™œ ํ• ๊นŒ? ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ณตํ‰ํ•˜๊ฒŒ ์ž‘์—…ํ•˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค. ์—„์ฒญ๋‚˜๊ฒŒ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ํ”„๋กœ์„ธ์Šค๋งŒ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ƒ๋Œ€์ ์œผ๋กœ ์งง..
1. CPU์˜ ๊ตฌ์„ฑ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค - CPU๋Š” ๋ช…๋ น์–ด๋ฅผ ํ•ด์„ํ•˜์—ฌ ์‹คํ–‰ํ•˜๋Š” ์žฅ์น˜์ด๋ฉฐ ํ•ต์‹ฌ ์š”์†Œ๋ผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์‚ฐ์ˆ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์žฅ์น˜, ์ œ์–ด์žฅ์น˜, ๋ ˆ์ง€์Šคํ„ฐ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ ์ด๊ฒƒ๋“ค์ด ํ˜‘์—…ํ•˜์—ฌ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•œ๋‹ค. 1) ์‚ฐ์ˆ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์žฅ์น˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ์‚ฐํ•˜๋Š” ์žฅ์น˜๋กœ ๋ง์…ˆ, ๋บ„์…ˆ, ๊ณฑ์…ˆ, ๋‚˜๋ˆ—์…ˆ๊ณผ ๊ฐ™์€ ์‚ฐ์ˆ ์—ฐ์‚ฐ, AND, OR๊ณผ ๊ฐ™์€ ์—ฐ์‚ฐ ์ˆ˜ํ–‰ 2) ์ œ์–ด์žฅ์น˜ ์ž‘์—…์„ ์ง€์‹œํ•˜๋Š” ๋ถ€๋ถ„ 3) ๋ ˆ์ง€์Šคํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ž„์‹œ๋กœ ๋ณด๊ด€ํ•˜๋Š” ๊ณณ -> ์™œ? ์ž„์‹œ๋กœ ๋ณด๊ด€ํ•ด์•ผ ํ• ๊นŒ? -> ์—ฐ์‚ฐ์„ ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ CPU๋กœ ๊ฐ€์ ธ์™€ ์ž„์‹œ๋กœ ๋ณด๊ด€ํ•ด์•ผ ํ•จ (์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ฐ’์„ CPU๋กœ ๊ฐ€์ ธ์™€์„œ ๊ณ„์‚ฐํ•ด์•ผ ํ•˜๋Š”๋ฐ ๊ณ„์‚ฐํ•  ๋•Œ ๋‘˜ ๊ณณ์ด๋ผ๊ณ  ์ƒ๊ฐ!) 2. ํฐ๋…ธ์ด๋งŒ ๊ตฌ์กฐ์˜ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ํŠน์ง•์„ ์„ค๋ช…ํ•˜์‹œ์˜ค CPU, ๋ฉ”๋ชจ๋ฆฌ, ์ž…์ถœ๋ ฅ์žฅ์น˜, ์ €์žฅ์žฅ์น˜๊ฐ€ ๋ฒ„์Šค๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ..
Code (์ฝ”๋“œ์˜์—ญ) ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ ๋ชจ๋“  ์ฝ”๋“œ๊ฐ€ ๊ธฐ๊ณ„์–ด(0101โ€ฆ)๋กœ ๋ณ€ํ™˜๋˜์–ด ์˜ฌ๋ผ๊ฐ€ ์žˆ๋Š” ๊ณต๊ฐ„ ์ปดํŒŒ์ผ ํƒ€์ž„์— ๊ฒฐ์ • (์ฝ”๋“œ์˜์—ญ์˜ ํฌ๊ธฐ, ์ฝ”๋“œ๊ฐ€ ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜) Read-Only๋กœ ์ค‘๊ฐ„ ์ฝ”๋“œ๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†์Œ ํ…์ŠคํŠธ ์˜์—ญ์ด๋ผ๊ณ ๋„ ํ•จ ํ”„๋กœ๊ทธ๋žจ์ด ์‹œ์ž‘ํ•˜๊ณ  ์ข…๋ฃŒ๋  ๋•Œ ๊นŒ์ง€ ๋ฉ”๋ชจ๋ฆฌ์— ๋‚จ์•„์žˆ์Œ CPU๋Š” ์ฝ”๋“œ ์˜์—ญ์— ์ €์žฅ๋œ ๋ช…๋ น์–ด๋ฅผํ•˜๋‚˜์”ฉ ๊ฐ€์ ธ๊ฐ€์„œ ์ฒ˜๋ฆฌํ•จ Data (๋ฐ์ดํ„ฐ ์˜์—ญ) ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์ง€์›Œ์ง€์ง€ ์•Š์„ ๋ฐ์ดํ„ฐ ์ €์žฅ (์ „์—ญ๋ณ€์ˆ˜, static๋ณ€์ˆ˜ ๋“ฑ์ด ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ณต๊ฐ„) ์ปดํŒŒ์ผ ํƒ€์ž„์— ๊ฒฐ์ • ์ฝ”๋“œ์˜์—ญ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ”„๋กœ๊ทธ๋žจ์ด ์‹œ์ž‘ํ•˜๊ณ  ์ข…๋ฃŒ๋  ๋•Œ ๊นŒ์ง€ ๋ฉ”๋ชจ๋ฆฌ์— ๋‚จ์•„์žˆ์Œ Heap (ํž™ ์˜์—ญ) ๋Ÿฐํƒ€์ž„ ์‹œ์ ์— ํž™์ด ํ˜„์žฌ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ํฌ๊ธฐ๊ฐ€ ๊ฒฐ์ •๋จ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ์˜์—ญ์„ ์ฐพ์•„ ํ• ๋‹นํ•˜๋Š” ๋ฐฉ์‹(๋™์ ํ• ๋‹น)์ด..
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 ... ์œ„ ์ˆ˜์—ด์ฒ˜๋Ÿผ n๋ฒˆ์งธ ํ•ญ์˜ ์ˆ˜๊ฐ€ n-1 + n-2๋กœ ๊ตฌ์„ฑ๋˜๋Š” ์ˆ˜์—ด์„ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์ด๋ผ ํ•œ๋‹ค. (๋‹จ, n์€ n
์ •๋ง ๊ฐ„๋‹จํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด์ง€๋งŒ ํŒŒ์ด์ฌ์€ evalํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๋ฐฉํ–ฅ๊ณผ๋Š” ์ข€ ๋‹ค๋ฅธ๊ฒƒ ๊ฐ™๊ณ .. ๋”ฑ ๋‘์ค„์ด๋ฉด ๋๋‚œ๋‹ค! while(num > 0) { answer += num % 10 num = num / 10 } ..ใ…Žใ…Ž
#include #include using namespace std; long long a, b; long long min_count = 1000000000; bool flag = false; void dfs(long long a, long long cnt) { if (a > b) return; else if (a == b) { flag = true; min_count = min(min_count,cnt); } else if (a > a >> b; dfs(a, 1); ..
์œ ๋‹‰์Šค์˜ ๊ตฌ์กฐ 1. ์ปค๋„ (kernel) : ๋ฉ”๋ชจ๋ฆฌ์— ์ƒ์ฃผํ•˜๋Š” ๋ถ€๋ถ„ ์ž‘์€ ์˜๋ฏธ์˜ ์šด์˜์ฒด์ œ๋ผ๊ณ ๋„ ํ•จ. 2. ์‹œ์Šคํ…œ ํ˜ธ์ถœ(system call) : ์‘์šฉํ”„๋กœ๊ทธ๋žจ์—์„œ ์šด์˜์ฒด์ œ์—๊ฒŒ ์–ด๋– ํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•ด ๋‹ฌ๋ผ๋Š” ํ•˜๋‚˜์˜ ์ˆ˜๋‹จ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์ปค๋„์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. 3. ์‰˜ (shell) : ์ปค๋„๊ณผ ์‚ฌ์šฉ์ž ๊ฐ„์˜ ๋‹ค๋ฆฌ์—ญํ•  ๋ช…๋ น์„ ๋ฐ›์•„ ํ•ด์„ํ•˜๊ณ , ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰์‹œํ‚จ๋‹ค. ์‰˜์˜ ์ข…๋ฅ˜ 1.Bourne shell : ์ตœ์ดˆ์˜ ์…ธ, ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์‰˜์ด๋‹ค. 2. Bourne-again shell : ๋ฆฌ๋ˆ…์Šค์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์‰˜๋กœ C์‰˜๊ณผ ์ฝ˜ ์‰˜์˜ ์žฅ์ ์„ ๊ฒฐํ•ฉํ•˜์—ฌ ์ž‘์„ฑ๋˜์—ˆ๋‹ค. 3. C shell : C์–ธ์–ด ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ๋‹ค. 4. Korn shell : ๋ณธ ์‰˜์„ ํ™•์žฅํ•œ ์‰˜๋กœ ๋ณธ ์‰˜์˜ ๋ช…๋ น์–ด๋ฅผ ๋ชจ๋‘ ์ธ์‹ํ•˜๋ฉฐ ์œ ๋‹‰์Šค..
๋”๋ณด๊ธฐ ๋ฌธ์ œ ์ฐจ์„ธ๋Œ€ ์˜๋†์ธ ํ•œ๋‚˜๋Š” ๊ฐ•์›๋„ ๊ณ ๋žญ์ง€์—์„œ ์œ ๊ธฐ๋† ๋ฐฐ์ถ”๋ฅผ ์žฌ๋ฐฐํ•˜๊ธฐ๋กœ ํ•˜์˜€๋‹ค. ๋†์•ฝ์„ ์“ฐ์ง€ ์•Š๊ณ  ๋ฐฐ์ถ”๋ฅผ ์žฌ๋ฐฐํ•˜๋ ค๋ฉด ๋ฐฐ์ถ”๋ฅผ ํ•ด์ถฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ํ•œ๋‚˜๋Š” ํ•ด์ถฉ ๋ฐฉ์ง€์— ํšจ๊ณผ์ ์ธ ๋ฐฐ์ถ”ํฐ์ง€๋ ์ด๋ฅผ ๊ตฌ์ž…ํ•˜๊ธฐ๋กœ ๊ฒฐ์‹ฌํ•œ๋‹ค. ์ด ์ง€๋ ์ด๋Š” ๋ฐฐ์ถ”๊ทผ์ฒ˜์— ์„œ์‹ํ•˜๋ฉฐ ํ•ด์ถฉ์„ ์žก์•„ ๋จน์Œ์œผ๋กœ์จ ๋ฐฐ์ถ”๋ฅผ ๋ณดํ˜ธํ•œ๋‹ค. ํŠนํžˆ, ์–ด๋–ค ๋ฐฐ์ถ”์— ๋ฐฐ์ถ”ํฐ์ง€๋ ์ด๊ฐ€ ํ•œ ๋งˆ๋ฆฌ๋ผ๋„ ์‚ด๊ณ  ์žˆ์œผ๋ฉด ์ด ์ง€๋ ์ด๋Š” ์ธ์ ‘ํ•œ ๋‹ค๋ฅธ ๋ฐฐ์ถ”๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์–ด, ๊ทธ ๋ฐฐ์ถ”๋“ค ์—ญ์‹œ ํ•ด์ถฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ํ•œ ๋ฐฐ์ถ”์˜ ์ƒํ•˜์ขŒ์šฐ ๋„ค ๋ฐฉํ–ฅ์— ๋‹ค๋ฅธ ๋ฐฐ์ถ”๊ฐ€ ์œ„์น˜ํ•œ ๊ฒฝ์šฐ์— ์„œ๋กœ ์ธ์ ‘ํ•ด์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ํ•œ๋‚˜๊ฐ€ ๋ฐฐ์ถ”๋ฅผ ์žฌ๋ฐฐํ•˜๋Š” ๋•…์€ ๊ณ ๋ฅด์ง€ ๋ชปํ•ด์„œ ๋ฐฐ์ถ”๋ฅผ ๊ตฐ๋ฐ๊ตฐ๋ฐ ์‹ฌ์–ด ๋†“์•˜๋‹ค. ๋ฐฐ์ถ”๋“ค์ด ๋ชจ์—ฌ์žˆ๋Š” ๊ณณ์—๋Š” ๋ฐฐ์ถ”ํฐ์ง€๋ ์ด๊ฐ€ ํ•œ ๋งˆ๋ฆฌ๋งŒ ์žˆ์œผ๋ฉด ๋˜๋ฏ€๋กœ ์„œ๋กœ ์ธ์ ‘ํ•ด์žˆ๋Š” ๋ฐฐ์ถ”๋“ค์ด..
๋ฆด๋ฆฌ๐Ÿฐ
'Computer Science' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก