๐Ÿ‘ฉ‍๐Ÿ’ป ํ”„๋กœ๊ทธ๋ž˜๋ฐ

๊ทธ๋ž˜ํ”„ ๊ด€๋ จ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ๋Š”, ๋ฌธ์ œ ์ƒํ™ฉ์„ ๊ทธ๋ž˜ํ”„๋กœ ๋ชจ๋ธ๋งํ•œ ํ›„ ํ‘ธ๋Š” ๊ฒƒ์ด ๋ณดํŽธ์ ์ด๋‹ค. ์ด ๋•Œ, ๋ชจ๋ธ๋งํ•œ ๊ทธ๋ž˜ํ”„์˜ ์—ฐ๊ฒฐ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์ด ์žˆ๋‹ค. ๐Ÿ‘‰ 1. ์ธ์ ‘ ํ–‰๋ ฌ 2. ์ธ์ ‘ ๋ฆฌ์ŠคํŠธ ๐ŸŸฉ ์ธ์ ‘ ํ–‰๋ ฌ ๊ทธ๋ž˜ํ”„์˜ ์—ฐ๊ฒฐ ๊ด€๊ณ„๋ฅผ ์ด์ฐจ์› ๋ฐฐ์—ด๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ์‹ ์ธ์ ‘ ํ–‰๋ ฌ์„ adj[][]๋ผ๊ณ  ํ•œ๋‹ค๋ฉด, adj[i][j]์— ๋Œ€ํ•ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ ๊ฐ€๋Šฅ adj[i][j] : ๋…ธ๋“œ i์—์„œ ๋…ธ๋“œ j๋กœ ๊ฐ€๋Š” ๊ฐ„์„ ์ด ์žˆ๋‹ค๋ฉด 1, ์•„๋‹ˆ๋ฉด 0 cf. ๋งŒ์•ฝ ๊ฐ„์„ ์— ๊ฐ€์ค‘์น˜๊ฐ€ ์žˆ๋Š” ๊ทธ๋ž˜ํ”„๋ผ๋ฉด 1 ๋Œ€์‹ ์— ๊ฐ€์ค‘์น˜์˜ ๊ฐ’์„ ์ง์ ‘ ๋„ฃ์–ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ ๊ฐ€๋Šฅํ•˜๋‹ค. ๐ŸŒŸ ์˜ˆ์‹œ ์œ ํ–ฅ ๊ทธ๋ž˜ํ”„๊ฐ€ ์•„๋‹Œ ๋ฌดํ–ฅ ๊ทธ๋ž˜ํ”„์—์„œ๋Š”, ๋…ธ๋“œ i ๐Ÿ‘‰ ๋…ธ๋“œ j ๋ผ๋Š” ๋ง์€, ๋…ธ๋“œ j ๐Ÿ‘‰ ๋…ธ๋“œ i๋ผ๋Š” ์˜๋ฏธ์ด๋‹ค. ๋”ฐ๋ผ์„œ, ์ธ์ ‘ ํ–‰๋ ฌ์ด ๋Œ€๊ฐ์„ฑ๋ถ„(i=j์ธ ์›์†Œ๋“ค)์„ ๊ธฐ์ค€์œผ..
๐ŸŸฉ ์ƒ์„ฑ์ž ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ์‹œ์ ์— ์ž๋™์œผ๋กœ ํ˜ธ์ถœ๋˜๋Š” ๋ฉค๋ฒ„ ํ•จ์ˆ˜๋กœ ํด๋ž˜์Šค ์ด๋ฆ„๊ณผ ๋™์ผํ•œ ๋ฉค๋ฒ„ ํ•จ์ˆ˜์ด๋‹ค. ๋˜, ํ•จ์ˆ˜ ํŠน์œ ์˜ ๋ฆฌํ„ด ํƒ€์ž…์„ ์ง€์ •ํ•˜๋ฉด ์•ˆ๋œ๋‹ค. class Circle { Circle(); Circle(int radius); }; Circle::Circle() { radius = 10; cout
๋ฉค๋ฒ„๋ณ€์ˆ˜์˜ ์™ธ๋ถ€์ ‘๊ทผ์„ ํ—ˆ์šฉํ•˜๋ฉด(public ์‚ฌ์šฉ), ์ž˜๋ชป๋œ ๊ฐ’์ด ์ €์žฅ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ, ๋ฉค๋ฒ„๋ณ€์ˆ˜์˜ ์™ธ๋ถ€์ ‘๊ทผ์„ ๋ง‰๊ฒŒ ๋˜๋Š”๋ฐ, ์ด๋ฅผ ๊ฐ€๋ฆฌ์ผœ ์ •๋ณด ์€๋‹‰์ด๋ผ ํ•œ๋‹ค. EX) public int x; // 0์ด์ƒ 100์ดํ•˜ ์กฐ๊ฑด์— ๋งž๋Š” ๊ฐ’์ด ๋“ค์–ด์˜จ๋‹ค๋Š” ๋ฒ•์ด ์—†๋‹ค. ๐Ÿ‘‰ ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„๋ณ€์ˆ˜๋ฅผ private์œผ๋กœ ์„ ์–ธํ•˜๊ณ , ํ•ด๋‹น ๋ณ€์ˆ˜์— ์ ‘๊ทผํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋ณ„๋„๋กœ ์ •์˜ํ•ด์„œ, ์•ˆ์ „ํ•œ ํ˜•ํƒœ๋กœ ๋ฉค๋ฒ„๋ณ€์ˆ˜์˜ ์ ‘๊ทผ์„ ์œ ๋„ํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ '์ •๋ณด ์€๋‹‰'์ด๋ฉฐ, ์ด๋Š” ์ข‹์€ ํด๋ž˜์Šค๊ฐ€ ๋˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ ์กฐ๊ฑด์ด๋‹ค. ๐Ÿ‘‰ ๋ณ„๋„๋กœ ์ •์˜๋œ ํ•จ์ˆ˜์—์„œ ์กฐ๊ฑด์— ๋งž๋Š” ๊ฐ’์„ ๋ถˆ๋Ÿฌ์˜ค๋„๋ก ์กฐ๊ฑด์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ๐Ÿ‘‰ ํ•จ์ˆ˜๋งŒ ํ•œ ๋ฒˆ ์ž˜ ์ •์˜๋˜๋ฉด ์ž˜๋ชป๋œ ์ ‘๊ทผ์€ ์›์ฒœ์ ์œผ๋กœ ์ฐจ๋‹จ๋œ๋‹ค. ๐ŸŸฉ const ํ•จ์ˆ˜ const ํ•จ์ˆ˜ ๋‚ด์—์„œ๋Š” ๋™์ผ ํด๋ž˜์Šค์— ์„ ์–ธ๋œ ๋ฉค๋ฒ„๋ณ€์ˆ˜์˜..
๐ŸŒŸ ๊ฐ์ฒด์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ์ •์˜ ์‚ฌ์ „์  ์˜๋ฏธ : ๋ฌผ๊ฑด/๋Œ€์ƒ ๐ŸŸฉ ๊ฐ์ฒด ์ค‘์‹ฌ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ "๋‚˜๋Š” ๊ณผ์ผ์žฅ์ˆ˜์—๊ฒŒ ๋‘ ๊ฐœ์˜ ์‚ฌ๊ณผ๋ฅผ ๊ตฌ๋งคํ–ˆ๋‹ค" ๊ฐ์ฒด ๐Ÿ‘‰ ๋‚˜, ๊ณผ์ผ์žฅ์ˆ˜, ์‚ฌ๊ณผ ๋ฐ์ดํ„ฐ ๐Ÿ‘‰ ๋‘ ๊ฐœ ํ–‰์œ„, ๊ธฐ๋Šฅ ๐Ÿ‘‰ ๊ตฌ๋งคํ–ˆ๋‹ค. ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋Š” ๋‚˜, ๊ณผ์ผ์žฅ์ˆ˜, ์‚ฌ๊ณผ๋ผ๋Š” ๊ฐ์ฒด๋ฅผ ๋“ฑ์žฅ์‹œ์ผœ ๋‘ ๊ฐœ์˜ ์‚ฌ๊ณผ ๊ตฌ๋งค๋ผ๋Š” ํ–‰์œ„๋ฅผ ์‹ค์ฒดํ™”ํ•œ๋‹ค. ํ˜„์‹ค์— ์กด์žฌํ•˜๋Š” ์‚ฌ๋ฌผ๊ณผ ๋Œ€์ƒ, ๊ทธ๋ฆฌ๊ณ  ๊ทธ์— ๋”ฐ๋ฅธ ํ–‰๋™์„ ์žˆ๋Š” ๊ทธ๋Œ€๋กœ ์‹ค์ฒดํ™”์‹œํ‚ค๋Š” ํ˜•ํƒœ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๐ŸŸฉ ๊ฐ์ฒด = ๋ฐ์ดํ„ฐ + ๊ธฐ๋Šฅ ๐ŸŒŸ ๊ฐ์ฒด ํ‘œํ˜„ (ํ–‰์œ„) ๊ณผ์ผ์žฅ์ˆ˜๋Š” ๊ณผ์ผ์„ ํŒ๋‹ค. (์ƒํƒœ) ๊ณผ์ผ์žฅ์ˆ˜๋Š” ์‚ฌ๊ณผ 20๊ฐœ, ์˜ค๋ Œ์ง€ 10๊ฐœ๋ฅผ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋‹ค. ๐ŸŒŸ ๋ฐ์ดํ„ฐ ํ‘œํ˜„(๋ณ€์ˆ˜ ์„ ์–ธ) ๋ณด์œ ํ•˜๊ณ  ์žˆ๋Š” ์‚ฌ๊ณผ์˜ ์ˆ˜ : int numOfApples; ํŒ๋งค ์ˆ˜์ต : int myMoney; ๊ณผ์ผ ๊ฐ’ : const int A..
์—ฐ๊ด€์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜๋กœ ๋ฌถ์œผ๋ฉด ํ”„๋กœ๊ทธ๋žจ์˜ ๊ตฌํ˜„ ๋ฐ ๊ด€๋ฆฌ๊ฐ€ ์šฉ์ดํ•˜๋‹ค. ๐Ÿ‘‰ ๊ตฌ์กฐ์ฒด๋Š” ์—ฐ๊ด€์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜๋กœ ๋ฌถ๋Š” ๋ฌธ๋ฒ•์  ์žฅ์น˜ ์—ฐ๊ด€์žˆ๋Š” ๋ฐ์ดํ„ฐ๋“ค์€ ์ƒ์„ฑ ๋ฐ ์†Œ๋ฉธ์˜ ์‹œ์ ์ด ์ผ์น˜ํ•˜๊ณ , ์ด๋™ ๋ฐ ์ „๋‹ฌ์˜ ์‹œ์ , ๋ฐฉ๋ฒ•์ด ์ผ์น˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜์˜ ์ž๋ฃŒํ˜•์œผ๋กœ ๋ฌถ์–ด์„œ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์šฉ์ดํ•˜๋‹ค. struct Car{ char gamerID[ID_LEN]; int fuelGauge; int curSpeed; }; ๐ŸŸฉ ๊ตฌ์กฐ์ฒด ๋ณ€์ˆ˜ ์„ ์–ธ, ์ƒ์„ฑ // ๊ตฌ์กฐ์ฒด ์„ ์–ธ Car basicCar; // cf. struct Car basicCar; // ๊ตฌ์กฐ์ฒด ์ƒ์„ฑ Car run99 = {"run99", 100, 0}; struct ํ‚ค์›Œ๋“œ์˜ ์ƒ๋žต์„ ์œ„ํ•œ typedef ์„ ์–ธ ๋ถˆํ•„์š” ๊ตฌ์กฐ์ฒด ๋ณ€์ˆ˜๋งˆ๋‹ค ํ•จ์ˆ˜๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ์กด์žฌํ•˜๋Š” ๊ตฌ์กฐ๋Š” ์•„๋‹ˆ์ง€๋งŒ, ๋…ผ..
int num = 2010; ๋ณ€์ˆ˜์˜ ์„ ์–ธ์œผ๋กœ num1์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ํ• ๋‹น๋œ๋‹ค. int &num2 = num1; ์ฐธ์กฐ์ž์˜ ์„ ์–ธ์œผ๋กœ ์ธํ•ด num1์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— num2๋ผ๋Š” ์ด๋ฆ„์ด ์ถ”๊ฐ€๋กœ ๋ถ™๊ฒŒ๋œ๋‹ค. num1์ด ํ•˜๋Š” ๋ชจ๋“  ์—ฐ์‚ฐ์€ num2๋กœ ํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ธ๋‹ค. ๐ŸŸฉ ์ฐธ์กฐ์ž๋Š” ๊ธฐ์กด์— ์„ ์–ธ๋œ ๋ณ€์ˆ˜์— ๋ถ™์ด๋Š” '๋ณ„์นญ', ๋ณ€์ˆ˜์˜ ์ด๋ฆ„๊ณผ ์‚ฌ์‹ค์ƒ ์ฐจ์ด๊ฐ€ ์—†๋‹ค. ๐ŸŸฉ ์ฐธ์กฐ์ž์˜ ์ˆ˜์—๋Š” ์ œํ•œ์ด ์—†์œผ๋ฉฐ, ์ฐธ์กฐ์ž๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์ฐธ์กฐ์ž๋ฅผ ์„ ์–ธํ•  ์ˆ˜๋„ ์žˆ๋‹ค. int num1 = 2579; int& num2 = num1; int& num3 = num2; int& num4 = num3; ๐ŸŸฉ ์ฐธ์กฐ์ž์˜ ์„ ์–ธ ๊ฐ€๋Šฅ ๋ฒ”์œ„ int &ref = 20; (X) ์ƒ์ˆ˜ ๋Œ€์ƒ์œผ๋กœ์˜ ์ฐธ์กฐ์ž ์„ ์–ธ์€ ๋ถˆ๊ฐ€๋Šฅ int &ref; (X) ์ฐธ์กฐ์ž..
๐ŸŸฉ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์€ ์šด์˜์ฒด์ œ๋กœ๋ถ€ํ„ฐ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ• ๋‹น๋ฐ›๋Š”๋‹ค. ๐ŸŒŸ ๋ฐ์ดํ„ฐ : ์ „์—ญ๋ณ€์ˆ˜ ์ €์žฅ ๐ŸŒŸ ์Šคํƒ : ์ง€์—ญ๋ณ€์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜ ์ €์žฅ ๐ŸŒŸ ํž™ : ๋™์ ์œผ๋กœ ํ• ๋‹น์ด ์ด๋ค„์ง€๋Š” ์˜์—ญ ๐ŸŸฉ c๋ฅผ ๋”ํ•˜๊ณ  .h๋ฅผ ๋นผ๋ผ #include ๐Ÿ‘‰ #include #include ๐Ÿ‘‰ #include #include ๐Ÿ‘‰ #include #include ๐Ÿ‘‰ #include
โœ๏ธconst = ๋ณ€์ˆ˜๋ฅผ ์ƒ์ˆ˜ํ™” ์‹œํ‚จ๋‹ค (๋ณ€ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค) ๐ŸŸฉ const int * ptr = &a ์ƒ์ˆ˜์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ, ํฌ์ธํ„ฐ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋Œ€์ƒ์„ ์ƒ์ˆ˜ํ™” ๊ฐ’ ๋ณ€๊ฒฝX ์ฃผ์†Œ ๋ณ€๊ฒฝO ๊ฐ€๋ฆฌํ‚ค๋Š” ์›๋ณธ ๋ณ€์ˆ˜ ์ž์ฒด๋ฅผ ์ƒ์ˆ˜ํ™”X (์ƒ์ˆ˜ ์ทจ๊ธ‰) ๐ŸŸฉ int * const ptr = &a ์ƒ์ˆ˜ ํฌ์ธํ„ฐ, ํฌ์ธํ„ฐ ์ž์ฒด๋ฅผ ์ƒ์ˆ˜ํ™” ๊ฐ’ ๋ณ€๊ฒฝO ์ฃผ์†Œ ๋ณ€๊ฒฝX ๐ŸŸฉ const int * const ptr = &a ์ƒ์ˆ˜์— ๋Œ€ํ•œ ์ƒ์ˆ˜ ํฌ์ธํ„ฐ ๊ฐ’ ๋ณ€๊ฒฝX ์ฃผ์†Œ ๋ณ€๊ฒฝX ๐ŸŒŸ ๊ฐ’ ๋ณ€๊ฒฝ *ptr = 1; ๐ŸŒŸ ์ฃผ์†Œ ๋ณ€๊ฒฝ ptr = &b; ๐ŸŸฉ const๋กœ ์„ ์–ธ๋œ ๊ฐ์ฒด๋ฅผ ๋Œ€์ƒ์œผ๋กœ const๋กœ ์„ ์–ธ๋˜์ง€ ์•Š์€ ๋ฉค๋ฒ„ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ์€ ๋ถˆ๊ฐ€๋Šฅ ํ•จ์ˆ˜์˜ const ์„ ์–ธ ์œ ๋ฌด๋Š” ํ•จ์ˆ˜ ์˜ค๋ฒ„๋กœ๋”ฉ์˜ ์กฐ๊ฑด์ด ๋œ๋‹ค. const int a; void Func(){} void Func..
๐ŸŸฉ key๋งŒ ์žˆ๋Š” map ํ˜น์€ ์ •๋ ฌ๋œ ์ง‘ํ•ฉ set์€ map๊ณผ ๊ตฌ์กฐ๊ฐ€ ๋งค์šฐ ์œ ์‚ฌํ•˜๋‹ค. ๋‹จ, key๋งŒ ์žˆ๊ณ  value๊ฐ€ ์—†๋Š” map์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์‚ฌ์šฉ๋ฒ•๋„ map๊ณผ ํฌ๊ฒŒ ๋‹ค๋ฅด์ง€ ์•Š๋‹ค. ์ •๋ ฌ๋œ ์ง‘ํ•ฉ์ด๋ผ๊ณ  ์ •์˜ํ•œ ์ด์œ ๋Š” set์ด ๊ฐ–๋Š” ๊ฐ’๋“ค์ด ์ค‘๋ณต์„ ํ—ˆ๋ฝํ•˜์ง€ ์•Š๊ณ  ์ •๋ ฌ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๐ŸŸฉ ํŠน์ • ๊ฐ’์— ๋Œ€ํ•ด ๊ฒ€์ƒ‰์„ ๋น ๋ฅด๊ฒŒ ํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ ๐ŸŸฉ #include s.size() s์˜ ๋…ธ๋“œ ๊ฐœ์ˆ˜๋ฅผ ๋ฆฌํ„ด s.empty() s์˜ ์‚ฌ์ด์ฆˆ๊ฐ€ 0์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ํ™•์ธ s.begin() s์˜ ์ฒซ ๋ฒˆ์งธ ์›์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” iterator ๋ฆฌํ„ด s.end() s์˜ ๋งˆ์ง€๋ง‰ ์›์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” iterator ๋ฆฌํ„ด s.insert(k) s์— ๊ฐ’์ด k์ธ ๋…ธ๋“œ ์ถ”๊ฐ€ s.erase(k) s์— ๊ฐ’์ด k์ธ ๋…ธ๋“œ ์‚ญ์ œ s.find(k) s์—์„œ ..
๐ŸŸฉ ์ธ๋ฑ์Šค๋กœ int๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์ž๋ฃŒํ˜•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด (ํŽธ์˜์ƒ) map์˜ ๋‚ด๋ถ€์ ์ธ ๊ตฌ์กฐ๋Š” ๊ฐ ๋…ธ๋“œ๊ฐ€ key์™€ value์˜ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ 'ํŠธ๋ฆฌ'์ด๋‹ค. ํŠนํžˆ ๊ฒ€์ƒ‰, ์‚ฝ์ž…, ์‚ญ์ œ ๋“ฑ์˜ ์†๋„๋ฅผ ๋น ๋ฅด๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ๊ท ํ˜• ์ด์ง„ ํŠธ๋ฆฌ ์ค‘์˜ ํ•˜๋‚˜์ธ '๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ'๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ๋‹ค. ๊ฒ€์ƒ‰ ์†๋„๊ฐ€ ํŠนํžˆ ๋น ๋ฅธ๋ฐ ์ด๋Š” key๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ๋œ ์ƒํƒœ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๐ŸŸฉ ์—ฐ๊ด€์žˆ๋Š” ๋‘ ๊ฐ’์„ ํ•จ๊ป˜ ๋ฌถ์–ด์„œ ๊ด€๋ฆฌํ•˜๋˜, ๊ฒ€์ƒ‰์„ ๋น ๋ฅด๊ฒŒ ํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ ๐ŸŸฉ #include map์€ ์ค‘๋ณต ๋ถˆ๊ฐ€ํ•œ key์™€ value ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋…ธ๋“œ์˜ ํŠธ๋ฆฌ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ™์€ key ๊ฐ’์„ ๊ฐ–๋Š” ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ? ํ•ด๋‹น key ๊ฐ’์„ ๊ฐ–๊ณ  ์žˆ๋˜ ์›๋ž˜ ๋…ธ๋“œ์˜ value ๊ฐ’์— ๋ฎ์–ด ์”Œ์›Œ์ง€๊ฒŒ ๋œ๋‹ค. map์˜ ์š”์†Œ์— ์ ‘๊ทผํ•  ๋•Œ, ๋ฐ˜๋ณต์ž(it..
๐ŸŸฉ ๊ท ํ˜• ํƒ์ƒ‰ ํŠธ๋ฆฌ ์ด์ง„ ํŠธ๋ฆฌ๋ฅผ ํ™•์žฅํ•ด ํ•˜๋‚˜์˜ ๋…ธ๋“œ๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ž์‹ ๋…ธ๋“œ์˜ ์ตœ๋Œ€ ์ˆซ์ž๊ฐ€ 2๋ณด๋‹ค ํฐ ํŠธ๋ฆฌ ๊ตฌ์กฐ ํ‚ค์˜ ๊ฐœ์ˆ˜ (t-1)~(2t-1) ๊ฐœ ์ž์‹ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜ t~2t ๊ฐœ ๐ŸŸฉ ์„ฑ์งˆ 1. ๋…ธ๋“œ์—๋Š” 2๊ฐœ ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•ญ์ƒ ์ •๋ ฌ๋œ ์ƒํƒœ๋กœ ์ €์žฅ๋œ๋‹ค. 2. ๋‚ด๋ถ€ ๋…ธ๋“œ๋Š” ceil(m/2) ~ m ๊ฐœ์˜ ์ž์‹์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. ์ตœ๋Œ€ m๊ฐœ์˜ ์ž์‹์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” BํŠธ๋ฆฌ๋ฅผ m์ฐจ BํŠธ๋ฆฌ๋ผ ํ•œ๋‹ค. ceil() ํ•จ์ˆ˜๋Š” ์˜ฌ๋ฆผ ํ•จ์ˆ˜์ด๋‹ค. ์ฆ‰, ceil(3/2) = 2์ด๋‹ค. ์ฆ‰, 3์ฐจ BํŠธ๋ฆฌ์˜ ๋ฆฌํ”„ ๋…ธ๋“œ์™€ ๋ฃจํŠธ๋…ธ๋“œ๋ฅผ ์ œ์™ธํ•œ ๋‚ด๋ถ€ ๋…ธ๋“œ๋Š” 2-3๊ฐœ์˜ ์ž์‹์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. 3. ํŠน์ • ๋…ธ๋“œ์˜ ๋ฐ์ดํ„ฐ(key)๊ฐ€ K๊ฐœ๋ผ๋ฉด, ์ž์‹ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๋Š” K+1๊ฐœ์—ฌ์•ผ ํ•œ๋‹ค. ํŠน์ • ๋…ธ๋“œ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ 2๊ฐœ๋ผ๋ฉด, ์ž์‹ ๋…ธ๋“œ๋Š” ..
๐ŸŸฉ ์ผ์ข…์˜ ์ž๊ธฐ ๊ท ํ˜• ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ์˜ ์กฐํšŒ๋Š” O(logn) ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๊ฒŒ ๋˜๋Š”๋ฐ, ๋ฌธ์ œ๋Š” ๊ท ํ˜•์ด ๋ฌด๋„ˆ์งˆ ๊ฒฝ์šฐ O(n)๊นŒ์ง€ ์‹œ๊ฐ„์ด ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๐Ÿ‘‰ ๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ์˜ ๊ฐ€์žฅ ํฐ ํŠน์ง•์€ ์‚ฝ์ž…, ์‚ญ์ œ ๋™์•ˆ ํŠธ๋ฆฌ์˜ ๋ชจ์–‘์ด "๊ท ํ˜• ์žกํžˆ๋„๋ก" ๊ฐ ๋…ธ๋“œ๋“ค์€ red or black ์ƒ‰์ƒ์„ ๊ฐ€์ง„๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ฒ€์ƒ‰, ์‚ฝ์ž…, ์‚ญ์ œ ์‹œ ์ตœ์•…์˜ ๊ฒฝ์šฐ์—์„œ๋„ ๋ชจ๋‘ O(logn)์ด ๋ณด์žฅ๋˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ๐ŸŒŸ ์˜ˆ1. map map์€ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” (key, value) ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ํŠธ๋ฆฌ map์˜ ๋‚ด๋ถ€ ๊ตฌํ˜„์€ ๊ฒ€์ƒ‰, ์‚ฝ์ž…, ์‚ญ์ œ๊ฐ€ O(logn)์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ๐ŸŸฉ ์„ฑ์งˆ ๋ฆฌํ”„ ๋…ธ๋“œ๋Š” ๋”ฐ๋กœ key๋‚˜ data๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์‹ค์ œ ์ฝ”๋“œ์—์„œ๋„ ๊ตฌํ˜„๋˜์ง€ ์•Š๋Š” "์™„์ „ ๊ฐ€์ƒ์˜ ๋…ธ๋“œ..
peewoong
'๐Ÿ‘ฉ‍๐Ÿ’ป ํ”„๋กœ๊ทธ๋ž˜๋ฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (3 Page)