๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๐Ÿ’ป Programming Language/C# (51)

Algo ์“ฐ์ž

7๋ฒˆ์งธ ์Šคํ„ฐ๋””

C# ์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ !!! ์†Œํ”„ํŠธ์›จ์–ด ์‹ ๋ขฐ์„ฑ ํ…Œ์ŠคํŒ…์„ ํ•˜๊ธฐ์œ„ํ•ด ์†Œํ”„ํŠธ์›จ์–ด ์‹ ๋ขฐ์„ฑ ํ…Œ์ŠคํŒ…์— ์žˆ์–ด ํƒ€ ์–ธ์–ด๋“ค๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ C#์— ๋น„ํ•ด ์‚ฌ์šฉํ•˜๊ธฐ ์–ด๋ ต๊ฑฐ๋‚˜ ๋ณต์žกํ•จ Window ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ œ์ž‘ํ• ๋•Œ C++, C#, Java ๋“ฑ์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์‹ ๋ขฐ์„ฑ์‹œํ—˜ ๋ฉด์—์„œ C#์„ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์ด์ ์ด ์žˆ๋‹ค. ๋ฌด์—‡๋ณด๋‹ค๋„ ์œˆ๋„์šฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์–ธ์–ด๋กœ๋Š” ์ตœ์‹ ! ์ถ”๊ฐ€์ ์œผ๋กœ ์ƒ์‚ฐ์„ฑ์ด ์ข‹๋‹ค๋Š” ์ธก๋ฉด๋„ ์žˆ๋‹ค. UI๋ฅผ ์˜ˆ์˜๊ฒŒ ํ•ด์ฃผ๋Š” ํˆด๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ ๋™๊ธฐํ™”์— ์žˆ์–ด ๋‹ค๋ฅธ ๋ฉ”์†Œ๋“œ์—๋„ lock ์ถ”๊ฐ€! Output ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋Š” ์Šค๋ ˆ๋“œ ๊ฐ์ฒด ์ƒ์„ฑํ•ด๋ณด๊ธฐ Output ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ vs ๋ถ„์‚ฐ์ฒ˜๋ฆฌ ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ ํ•˜๋‚˜์˜ ์ž‘์—…(work)๋ฅผ ๋‚˜๋ˆ ์„œ ์ฒ˜๋ฆฌํ•œ๋‹ค. Divide & Merge ๊ฐ๊ฐ์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ์ฒ˜๋ฆฌํ•˜๋Š” ๋กœ์ง์ด ๊ฐ™์€๊ฒฝ์šฐ์— ์‚ฌ์šฉ ํ˜„์žฌ ์‹œ์Šคํ…œ์—์„œ๋Š” ๊ฑฐ์˜ ์‚ฌ..

3๋ฒˆ์งธ ์Šคํ„ฐ๋”” ์ดํ›„ ์ •๋ฆฌ

ํ˜•๋ณ€ํ™˜๊ณผ ๊ด€๋ จํ•˜์—ฌ ... as ์—ฐ์‚ฐ์ž๋Š” ์ฐธ์กฐํ˜•์—๋งŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๊ณ  ๊ธฐ๋ณธ ๊ฐ’ํ˜•์‹์—๋Š” ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ธฐ๋ณธ ๊ฐ’ ํ˜•์‹์—๋Š” int, byte, char, long ... ๊ธฐ๋ณธ ๊ฐ’ ํ˜•์‹์— nullable => ? ํ‚ค์›Œ๋“œ๋Š” ์„ ์–ธ๋ฌธ์— ๋“ค์–ด๊ฐ€๋Š” ํ‚ค์›Œ๋“œ์ด๊ธฐ์— ์‚ฌ์šฉ๊ฐ€๋Šฅ int => value ํƒ€์ž… INTEGER => reference ํƒ€์ž… string ์€ ๊ธฐ๋ณธ ์ฐธ์กฐํ˜•์ด๋ผ๊ณ  ๋ฌธ์„œ์— ๋‚˜์˜ค๋Š”๋ฐ ์™œ ์•ˆ๋ ๊นŒ?? string์€ ์ฐธ์กฐ ํ˜•์‹์ด์ง€๋งŒ string๋Š” ์ฐธ์กฐ๊ฐ€ ์•„๋‹ˆ๋ผ string ๊ฐœ์ฒด์˜ ๊ฐ’์„ ๋น„๊ตํ•˜๋„๋ก ์ •์˜๋œ๋‹ค String ๊ณผ string ์˜ ์ฐจ์ด๋Š” ์—†๋‹ค. ๋‹ค๋งŒ string์ด System.String ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›์•„ ๊ตฌ์„ฑ๋˜์—ˆ๋‹ค. ๋ณดํ†ต string ์„ ์‚ฌ์šฉํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•˜๊ธดํ•œ๋‹ค. string a = "hello"; string..