๐Ÿ—ฏ๏ธLanguage ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ

ํ•ด๋‹น ๊ธ€ 59๊ฑด

๐Ÿ”—ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | ํ‰๊ท ๊ฐ’ ๊ตฌํ•˜๊ธฐ ๋ฌธ์ œ๋ฅผ ํ’€๋ ค๋‹ค๊ฐ€, STL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์ด ๋ฌด์—‡์ด ์žˆ๋Š”์ง€๋„ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด ์ฐพ์•„๋ณด๋‹ˆ, ๋ˆ„์  ํ•ฉ๊ณ„๋ฅผ ๊ตฌํ•ด์ฃผ๋Š” ํ•จ์ˆ˜, std::accumulate()๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. C++ 17์—์„œ ์ถ”๊ฐ€๋œ ํ•จ์ˆ˜๋กœ, ํ—ค๋”ํŒŒ์ผ์„ #include ํ•ด์ค˜์•ผ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. #include std::accumulate(์‹œ์ž‘ ์œ„์น˜, ๋ ์œ„์น˜ - 1, ์ดˆ๊ธฐ๊ฐ’); ํ•ด๋‹น ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์–ป์€ ๋ฐ˜ํ™˜๊ฐ’์€ ์ดˆ๊ธฐ๊ฐ’์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋”ฐ๋ผ๊ฐ„๋‹ค๊ณ  ํ•˜๋„ค์š”. ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด long ํƒ€์ž…์„ ์“ฐ๊ณ  ์‹ถ์œผ์‹  ๋ถ„๋“ค์€ ์ดˆ๊ธฐ๊ฐ’์— 0์ด ์•„๋‹Œ 0L์„ ์ค˜์•ผํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ํ‰๊ท ๊ฐ’ ๊ตฌํ•˜๊ธฐ ๋ฌธ์ œ ์†Œ์Šค์ฝ”๋“œ #include #include #include using namespace std; double solution(vector numbers) { i..

๐Ÿ—ฏ๏ธLanguage/C++ 2023. 1. 29. 22:18

์ถ”์ƒ ํด๋ž˜์Šค์˜ ํ•„์š”์„ฑ class Monster { public: Monster() {} virtual ~Monster() {} virtual void Attack() }; ์Šฌ๋ผ์ž„, ๋ฆฌ๋ณธ๋ผ์ง€ ๋“ฑ์˜ ๋ชฌ์Šคํ„ฐ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค ์˜ˆ์ •์ธ๋ฐ, ์ด๋“ค์€ ๋ชจ๋‘ ๊ณต๊ฒฉ(Attack)์ด๋ผ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ๊ฐ€์ง„๋‹ค. ์ด๋“ค์€ ์ €๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ณต๊ฒฉ์„ ๊ตฌ์‚ฌํ•œ๋‹ค. ๋”ฐ๋ผ์„œ, ์Šฌ๋ผ์ž„๊ณผ ๋ฆฌ๋ณธ๋ผ์ง€์˜ ๋ถ€๋ชจ ํด๋ž˜์Šค๋กœ Monster ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด์„œ Attack() ๋ฉ”์†Œ๋“œ๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด Monster ํด๋ž˜์Šค๋Š” ๊ณตํ†ต๋œ ๋ฉค๋ฒ„๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„์ผ ๋ฟ์ด์ง€, ์‹ค์ œ ๊ฐ์ฒด ์ƒ์„ฑ์€ ์š”๊ตฌ๋˜์ง€ ์•Š๋Š”๋‹ค. ๊ฐ€์ƒ ํ•จ์ˆ˜๋กœ๋„ ๊ณต๊ฒฉ ๋ฉ”์†Œ๋“œ์˜ ๋‹คํ˜•์„ฑ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์˜ค๋ฒ„๋ผ์ด๋“œ ํ•˜๋Š” ๊ฑธ ๊นŒ๋จน์„ ์ˆ˜๋„ ์žˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ๋“ค์„ ๋งŒ์กฑํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค..

๐Ÿ—ฏ๏ธLanguage/C++ 2022. 7. 7. 17:46

์ •์  ๋ฐ”์ธ๋”ฉ(Static binding)์ด ์˜ค๋ฒ„๋ผ์ด๋“œ ๋ฉ”์†Œ๋“œ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด๋ฅผ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋‹ค ๋ณด๋ฉด, ๋ถ€๋ชจ ํด๋ž˜์Šค๋กœ ์ž์‹ ํด๋ž˜์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์—… ์บ์ŠคํŒ…(Upcasting)์„ ์‚ฌ์šฉํ•  ๋•Œ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.Parent* obj = new Child(); ์šฐ๋ฆฌ ์ž…์žฅ์—์„œ๋Š” ๋ถ€๋ชจ ํด๋ž˜์Šค ํฌ์ธํ„ฐ๋กœ ์ž์‹ ํด๋ž˜์Šค ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๊ตฌ๋‚˜๋ผ๊ณ  ์•Œ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ปดํ“จํ„ฐ ์ž…์žฅ์—์„œ๋Š” ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ํฌ์ธํ„ฐ์ด๋ฏ€๋กœ ๋‹น์—ฐํžˆ ๋ถ€๋ชจ ํด๋ž˜์Šค ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์ž์‹ ํด๋ž˜์Šค์— ์˜ค๋ฒ„๋ผ์ด๋”ฉ(Overriding)๋œ ๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ๋‹ค๋ฉด ์—ฌ๊ธฐ์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.Parent* p = new Parent();Parent* c = new Child();p->Function(); // Parent ํด๋ž˜์Šค์˜ Fun..

๐Ÿ—ฏ๏ธLanguage/C++ 2022. 7. 7. 16:28