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

์ „์ฒด๋ณด๊ธฐ114

์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ ๊ฟ€ํŒ! โœ… ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ Tip ํ•จ์ˆ˜ ์ธ์ž ์ค„์ด๊ธฐ ํ•จ์ˆ˜ ์ธ์ž๊ฐ€ ๋งŽ์œผ๋ฉด ํ•จ์ˆ˜ ํ˜ธ์ถœ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ฆ๊ฐ€ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ๊ตฌ์กฐ์ฒด๋‚˜ ํด๋ž˜์Šค๋กœ ๋ฌถ์–ด์„œ ๊ทธ๊ฒƒ์„ ์ฐธ์กฐ๋กœ ์ „๋‹ฌํ•˜๋ฉด 30% ์†๋„๋ฅผ ์ฆ๊ฐ€ ์‹œํ‚จ๋‹ค. const ์„ ์–ธ ์ปดํŒŒ์ผ๋Ÿฌ๋Š” const ์ƒ์ˆ˜ ๊ฐ์ฒด๋ฅผ ์ผ๋ฐ˜์ ์ธ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์•„๋‹Œ ๋จธ์‹  ๋ ˆ์ง€์Šคํ„ฐ์— ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฐ์‚ฐ์ด ๋”์šฑ ๋น ๋ฅด๋‹ค. ์กฐ๊ฑด๋ฌธ ๋‚ด ์—ฐ์‚ฐ ์ค„์ด๊ธฐ ์กฐ๊ฑด๋ฌธ ์•ˆ์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ์กฐ๊ฑด ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋‹ค๋ฉด ๋ถˆํ•„์š”ํ•œ ์—ฐ์‚ฐ์„ ๋’ค๋กœ ๋ณด๋‚ด์ž. ๋งŒ์•ฝ if ( getValue() > 3000 || isExist ) ๊ฐ€ ์žˆ๋‹ค๋ฉด if ( isExist || getValue > 3000)๋กœ ๋ฐ”๊พธ์ž. isExist๊ฐ€ true๋ผ๋ฉด ๋’ค ์—ฐ์‚ฐ์€ ์ƒ๋žตํ•ด์„œ ์„ฑ๋Šฅ์— ๋„์›€์„ ์ค€๋‹ค. ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์ผ€์ด์Šค๋ฅผ Switch ์•ž์ชฝ์œผ๋กœ ๋ฐฐ์น˜ switch ์ฝ”๋“œ๋Š” ์œ„์—์„œ ๋ถ€ํ„ฐ ์ฐจ๋ก€๋กœ ์ฒด.. 2022. 12. 30.
[C/C++] unsigned์™€ signed์˜ ๊ฐ’ ๋น„๊ต ์ฃผ์˜ unsigned ์ž๋ฃŒํ˜•๊ณผ signed ์ž๋ฃŒํ˜•์€ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ฐ™์€ ์ž๋ฃŒํ˜•์ด๋ผ๋„ unsigned์™€ signed์˜ ๊ฐ’์„ ๋น„๊ตํ•  ๋•Œ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ์—์„œ warning์„ ๋ฑ‰์–ด์ค๋‹ˆ๋‹ค. unsigned int uVal = 3; int nVal = -1; if (uVal > nVal) { printf("unsigned 3 is bigger than signed -1\n"); } else { printf("signed -1 is bigger than unsigned 3\n"); } ์–ด๋–ค ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ค„๊นŒ์š”? ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋Š” else๋ฌธ์ธ "signed -1 is bigger than unsigned 3"์ด ์ถœ๋ ฅ ๋ฉ๋‹ˆ๋‹ค. ํ†ต์ƒ์ ์œผ๋กœ uVal์ด nVal๋ณด๋‹ค ํฌ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ฒ ์ง€๋งŒ unsigned์™€ signed๋ฅผ.. 2022. 3. 23.
ํ•˜๋…ธ์ด์˜ ํƒ‘ ์ดํ•ดํ•˜๊ธฐ ๊ฒ‰์œผ๋กœ ๋ณด๊ธฐ์—๋Š” ํ•˜๋…ธ์ด์˜ ํƒ‘์—์„œ ์žฌ๊ท€์˜ ์กฐ๊ฑด์ธ ๋ถ€๋ถ„ ๋ถ„ํ• ์˜ ๊ฒฝ์šฐ๊ฐ€ ์—†์–ด๋ณด์ด์ง€๋งŒ, ์ž์„ธํžˆ ๋“ค์—ฌ๋‹ค ๋ณด๋ฉด ๋ฐ˜๋“œ์‹œ ์กด์žฌํ•œ๋‹ค. ํ•˜๋…ธ์ด์˜ ํƒ‘์€ ๊ธฐ๋‘ฅ 3๊ฐœ๋Š” ๊ณ ์ •์ด๊ธฐ ๋•Œ๋ฌธ์— ์‹œ์ž‘์ (From), ์˜ฎ๊ธธ ์ง€์ (To), ๋‚˜๋จธ์ง€ ์ง€์ (Mid)๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ์›๋ฐ˜ 3๊ฐœ ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด์ž.(์›๋ฐ˜์„ 1์—์„œ 3์œผ๋กœ ์˜ฎ๊ธฐ๋Š” ๊ณผ์ •, N: 3, From: 1, Mid: 2, To: 3) ์ฒซ๋ฒˆ์งธ ๋นจ๊ฐ„ ์˜์—ญ์€ ์›๋ฐ˜ 2๊ฐœ๋ฅผ (1)์—์„œ (2)๋กœ ์˜ฎ๊ธฐ๋Š” ๊ณผ์ •์ด๋‹ค.(N: 2, From: 1, Mid: 3, To: 2) ์ด ํ›„, 1->3์€ ๊ฐ€์žฅ ํฐ ์›๋ฐ˜์„ ๋ชฉ์ (To)์ง€์ ์œผ๋กœ ์˜ฎ๊ธฐ๋Š” ๊ณผ์ •์ด๋‹ค. ๋‘๋ฒˆ์งธ ๋นจ๊ฐ„ ์˜์—ญ์€ ์›๋ฐ˜ 2๊ฐœ๋ฅผ (2)์—์„œ (3)๋กœ ์˜ฎ๊ธฐ๋Š” ๊ณผ์ •์ด๋‹ค.(N: 2, From: 2, Mid: 1, To: 3) ์ •๋ฆฌํ•˜๋ฉด, hanoi(3)์˜ ๊ฒฐ๊ณผ๋Š” han.. 2022. 2. 18.
[C/C++] 6. ์—”ํŠธ๋ฆฌ ํฌ์ธํŠธ(Entry point)(feat. argc/argv) ์˜ค๋Š˜์€ ์—”ํŠธ๋ฆฌ ํฌ์ธํŠธ(Entry point)์— ๋Œ€ํ•ด์„œ ์ด์•ผ๊ธฐํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์—”ํŠธ๋ฆฌ ํฌ์ธํŠธ๋ผ๊ณ  ํ•˜๋ฉด ์ข€ ๊ฑฐ์ฐฝํ•œ ๋Š๋‚Œ์ธ๋ฐ, ์‚ฌ์‹ค ๋ณ„ ๊ฑฐ ์—†์Šต๋‹ˆ๋‹ค. ์ด์ „ ํฌ์ŠคํŒ… ์ค‘ ์ปดํŒŒ์ผ๋Ÿฌ์™€ ์‹คํ–‰ํŒŒ์ผ์— ๋Œ€ํ•ด์„œ ๋ง์”€๋“œ๋ ธ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ C/C++๋กœ ์ง  ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ํ•ญ์ƒ mainํ•จ์ˆ˜์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ํŒŒ์ผ์— ์ˆ˜๋งŽ์€ ํ•จ์ˆ˜๊ฐ€ ์žˆ๋”๋ผ๋„ ์‹œ์ž‘์€ ํ•ญ์ƒ mainํ•จ์ˆ˜๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์‹œ์ž‘ ๊ตฌ๋ฌธ์€ main์—์„œ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. // C #include int main() { printf("Hello world"); return 0; } ์œ„ ์˜ˆ์ œ์™€ ๊ฐ™์ด ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค๋”๋ผ๋„ mainํ•จ์ˆ˜์—์„œ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. // C++ #include int main() { std::cout num; std::cout 2021. 4. 5.
[C/C++] 5. ๋ฐ˜๋ณต๋ฌธ(Iteration statements) - while๋ฌธ(while loop) ๋”๋ณด๊ธฐ ์ง€๋‚œ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋ฐ˜๋ณต๋ฌธ ์ค‘ for๋ฌธ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜๋‹ค. ์ด๋ฒˆ ๊ธ€์€ ๋ฐ˜๋ณต๋ฌธ์˜ ๋˜ ๋‹ค๋ฅธ ์ข…๋ฅ˜์ธ while๋ฌธ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ๋‹ค. while๋ฌธ๊ณผ for๋ฌธ ๋ชจ๋‘ ๋ฐ˜๋ณต์„ ์ง„ํ–‰ํ•œ๋‹ค๋Š” ์ ์—์„œ๋Š” ๊ฐ™์€ ๋ถ€๋ฅ˜์ด๊ณ , ์“ฐ์ด๋Š” ๋ฐฉ์‹๋งŒ ๋‹ค๋ฅด๊ณ  ๊ฐ™์€ ๋ฐ˜๋ณต์„ for, while๋ชจ๋‘ ๊ตฌํ˜„ ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ ๋ฐ˜๋ณตํ•ด์•ผ ์ƒํ™ฉ์— ๋”ฐ๋ผ์„œ for๋‚˜ while ์ค‘ ์ ํ•ฉํ•œ ๊ฒƒ์„ ๊ณจ๋ผ์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. // while์˜ ๊ฒฝ์šฐ๋Š” ๋ฌดํ•œ๋ฐ˜๋ณต์„ ์‚ฌ์šฉํ•  ๋•Œ ๋งŽ์ด ์“ฐ์ด๊ธฐ๋„ ํ•œ๋‹ค. # While๋ฌธ while(๋…ผ๋ฆฌ์กฐ๊ฑด) { ๋ฐ˜๋ณต ์ง„ํ–‰ ๊ตฌ๋ฌธ } ๊ธฐ๋ณธ์ ์ธ while๋ฌธ์€ ์œ„์™€ ๊ฐ™์ด ๋…ผ๋ฆฌ์กฐ๊ฑด์ด true์ธ ๊ฒฝ์šฐ์— ๋ฐ˜๋ณต ์ง„ํ–‰ ๊ตฌ๋ฌธ์„ ์ง„ํ–‰ํ•œ๋‹ค. ๋…ผ๋ฆฌ์กฐ๊ฑด์ด ํ”„๋กœ๊ทธ๋žจ์ด ๋๋‚  ๋•Œ ๊นŒ์ง€ true๋ฅผ ์œ ์ง€ํ•œ๋‹ค๋ฉด ๋ฌดํ•œ ๋ฐ˜๋ณต์„ ์ง„ํ–‰ํ•  ๊ฒƒ์ด๋‹ค. // C++ #include int.. 2021. 4. 3.
[C/C++] 4. ๋ฐ˜๋ณต๋ฌธ(Iteration statements) - for๋ฌธ(for loop) ๋ฐ˜๋ณต๋ฌธ์€ ์กฐ๊ฑด์— ๋”ฐ๋ผ์„œ ์›ํ•˜๋Š” ๋งŒํผ ๋ฐ˜๋ณต ๊ตฌ๋ฌธ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ƒํ™ฉ์— ๋”ฐ๋ผ์„œ ๋ฌดํ•œ๋ฃจํ”„๋ฅผ ์‹คํ–‰ ํ•  ์ˆ˜ ์žˆ๋‹ค.(์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฌดํ•œ๋ฃจํ”„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹คํ–‰๋˜๊ณ  ์žˆ๋‹ค.) ๋˜ํ•œ ์žฌ๊ท€๋ผ๋Š” ๊ฐœ๋…๋„ ๋ฐ˜๋ณต์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์žฌ๊ท€๋Š” ๋”ฐ๋กœ ํฌ์ŠคํŒ…์„ ํ•  ์˜ˆ์ •์ด๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋Š” ๋ชฉ์ ์ด ๋ฐ˜๋ณต์ ์ธ ์ž‘์—…์„ ์ตœ์†Œํ™”ํ•˜๋Š”๋ฐ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜๋ณต๋ฌธ์€ ๋งค์šฐ ๋นˆ๋ฒˆํ•˜๊ฒŒ ์“ฐ์ธ๋‹ค. ๊ทธ๋งŒํผ ์ค‘์š”ํ•˜๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๊ณ  ์‹ ์ค‘ํžˆ ์จ์•ผํ•  ๊ฒƒ์ด๋‹ค. ๋ฐ˜๋ณต๋ฌธ์ด ์ค‘์ฒฉ๋˜๋Š” ๊ฒฝ์šฐ ํ”„๋กœ๊ทธ๋žจ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์‹œ๊ฐ„๋ณต์žก๋„(Big-Oํ‘œ๊ธฐ๋ฒ•์— ๋”ฐ๋ฅธ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๋งํ•œ๋‹ค.)๊ฐ€ ๋Š˜์–ด๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์ตœ์ ํ™”๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค๋ฉด ๋ฐ˜๋ณต์„ ์ตœ์†Œํ™”ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ๊ทธ๋งŒํผ ๊ผญ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ•  ๊ฒƒ์ด๋‹ค. # for๋ฌธ(for-loop) // C++ #include for ( .. 2021. 3. 29.