๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
C++ ์‘์šฉ

์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ ๊ฟ€ํŒ!

by ์„œ์•„๋ž‘๐Ÿ˜ 2022. 12. 30.

โœ… ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ Tip

 

 

  •  ํ•จ์ˆ˜ ์ธ์ž ์ค„์ด๊ธฐ
    • ํ•จ์ˆ˜ ์ธ์ž๊ฐ€ ๋งŽ์œผ๋ฉด ํ•จ์ˆ˜ ํ˜ธ์ถœ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ฆ๊ฐ€ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ๊ตฌ์กฐ์ฒด๋‚˜ ํด๋ž˜์Šค๋กœ ๋ฌถ์–ด์„œ ๊ทธ๊ฒƒ์„ ์ฐธ์กฐ๋กœ ์ „๋‹ฌํ•˜๋ฉด 30% ์†๋„๋ฅผ ์ฆ๊ฐ€ ์‹œํ‚จ๋‹ค.
  • const ์„ ์–ธ
    • ์ปดํŒŒ์ผ๋Ÿฌ๋Š” const ์ƒ์ˆ˜ ๊ฐ์ฒด๋ฅผ ์ผ๋ฐ˜์ ์ธ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์•„๋‹Œ ๋จธ์‹  ๋ ˆ์ง€์Šคํ„ฐ์— ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฐ์‚ฐ์ด ๋”์šฑ ๋น ๋ฅด๋‹ค.
  • ์กฐ๊ฑด๋ฌธ ๋‚ด ์—ฐ์‚ฐ ์ค„์ด๊ธฐ
    • ์กฐ๊ฑด๋ฌธ ์•ˆ์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ์กฐ๊ฑด ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋‹ค๋ฉด ๋ถˆํ•„์š”ํ•œ ์—ฐ์‚ฐ์„ ๋’ค๋กœ ๋ณด๋‚ด์ž.
    • ๋งŒ์•ฝ if ( getValue() > 3000 || isExist ) ๊ฐ€ ์žˆ๋‹ค๋ฉด if ( isExist || getValue > 3000)๋กœ ๋ฐ”๊พธ์ž. isExist๊ฐ€ true๋ผ๋ฉด ๋’ค ์—ฐ์‚ฐ์€ ์ƒ๋žตํ•ด์„œ ์„ฑ๋Šฅ์— ๋„์›€์„ ์ค€๋‹ค.
  • ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์ผ€์ด์Šค๋ฅผ Switch ์•ž์ชฝ์œผ๋กœ ๋ฐฐ์น˜
    • switch ์ฝ”๋“œ๋Š” ์œ„์—์„œ ๋ถ€ํ„ฐ ์ฐจ๋ก€๋กœ ์ฒดํฌํ•ด ๋‚˜๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์ผ€์ด์Šค๊ฐ€ ์œ„์— ์žˆ๋‹ค๋ฉด ๋ฐ‘์—๊นŒ์ง€ ๊ฐ€์ง€ ์•Š์•„๋„ ๋œ๋‹ค.
  • 4๋ฐ”์ดํŠธ ๋ณด๋‹ค ํฐ ํŒŒ๋ผ๋ฏธํ„ฐ๋‚˜ ๋ฆฌํ„ด๊ฐ’์€ ์ฐธ์กฐ๋ฅผ ํ™œ์šฉ
    • ์Šคํƒ์—์„œ ์ผ์–ด๋‚˜๋Š” ์ž‘์—…์„ ์ค„์ด๊ณ  ๋ถˆํ•„์š”ํ•œ ๋ณต์‚ฌ๋ฅผ ์ค„์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • ์ด๋‹ˆ์…œ๋ผ์ด์ €๋ฅผ ์‚ฌ์šฉํ•˜์ž.
    • ๊ธฐ๋ณธ ์ƒ์„ฑ์ž์˜ ํ˜ธ์ถœ์ด๋ผ๋Š” ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์„ฑ๋Šฅ์— ๋„์›€์ด ๋œ๋‹ค.
  • ๊ฐ€์ƒํ•จ์ˆ˜์˜ ํ˜ธ์ถœ์„ ๋‚จ๋ฐœํ•˜์ง€ ๋ง์ž.
    • ์ผ๋ฐ˜ ํ•จ์ˆ˜๋ณด๋‹ค ๊ฐ€์ƒ ํ•จ์ˆ˜ ํ˜ธ์ถœ์€ ๋Š๋ฆฌ๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ virtual ์ƒ์† ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ž.
  • ์ž์ฃผ ๊ณ„์‚ฐ๋˜๋Š” ๊ฒƒ๋“ค์— ๋Œ€ํ•ด์„œ๋Š” Memoization์ด๋‚˜ Tabulation์„ ํ™œ์šฉํ•˜์ž.
    • ์บ์‹œ ๋ฐฉ์‹์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ถˆํ•„์š”ํ•œ ์—ฐ์‚ฐ์„ ์ค„์ธ๋‹ค.(์ €์žฅ๊ณต๊ฐ„์„ ๋” ๋งŽ์ด ์จ์„œ ์†๋„๋ฅผ ์•„๋ผ์ž)
  • ๋งํฌ๋“œ๋ฆฌ์ŠคํŠธ๋ณด๋‹จ ๋ฐฐ์—ด์ด๋‚˜ ๋ฒกํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์ž.
    • ํฌ์ธํ„ฐ๋กœ ์—ฐ๊ฒฐ๋œ ๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์—ฐ์†๋œ ๊ณต๊ฐ„์œผ๋กœ ๊ตฌ์„ฑ๋œ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์ž.



๋Œ“๊ธ€