๐Ÿ ํŒŒ์ด์ฌ์œผ๋กœ ์ค€๋น„ํ•˜๋Š” ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž ๊ธฐ์ˆ  ๋ฉด์ ‘ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

๐Ÿ ํŒŒ์ด์ฌ์œผ๋กœ ์ค€๋น„ํ•˜๋Š” ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž ๊ธฐ์ˆ  ๋ฉด์ ‘ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

๋ง‰๋ง‰ํ•œ ๋ฉด์ ‘ ์ค€๋น„, ์ด ์ˆœ์„œ๋Œ€๋กœ๋งŒ ๋”ฐ๋ผ๊ฐ€๋ฉด ๋ฉ๋‹ˆ๋‹ค

๊ธฐ์ˆ  ๋ฉด์ ‘์„ ์•ž๋‘๊ณ  ๋ฌด์—‡๋ถ€ํ„ฐ ๊ณต๋ถ€ํ•ด์•ผ ํ• ์ง€ ๋ง‰๋ง‰ํ–ˆ๋˜ ์ , ๋‹ค๋“ค ์žˆ์œผ์‹ค ๊ฑฐ์˜ˆ์š”. ์ž๋ฃŒ๊ตฌ์กฐ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์•ผ ํ•˜๋‚˜, ์•„๋‹ˆ๋ฉด ํ”„๋กœ์ ํŠธ ๊ฒฝํ—˜๋ถ€ํ„ฐ ์ •๋ฆฌํ•ด์•ผ ํ•˜๋‚˜ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ์‹œ๊ฐ„๋งŒ ํ˜๋ ค๋ณด๋‚ด๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.

์ด ๊ธ€์—์„œ๋Š” ํŒŒ์ด์ฌ์„ ๊ธฐ์ค€์œผ๋กœ ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์‹ค์ œ๋กœ ์ค€๋น„ํ•˜๋ฉด ๋„์›€์ด ๋˜๋Š” ํ•ญ๋ชฉ๋“ค์„ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„๋กœ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ˆœ์„œ๋Œ€๋กœ ์ฒดํฌํ•ด๋ณด๋ฉด์„œ ๋‚˜๋งŒ์˜ ๋ฉด์ ‘ ์ค€๋น„ ๋กœ๋“œ๋งต์„ ๋งŒ๋“ค์–ด๋ณด์„ธ์š”.

1. ์ž๋ฃŒ๊ตฌ์กฐ & ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ๋ณธ๊ธฐ ๋‹ค์ง€๊ธฐ

๋ฉด์ ‘์—์„œ ๊ฐ€์žฅ ๋จผ์ € ํ™•์ธํ•˜๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ๋ณต์žกํ•œ ์ด๋ก ๋ณด๋‹ค๋Š” ๋ฆฌ์ŠคํŠธ, ๋”•์…”๋„ˆ๋ฆฌ, ์Šคํƒ/ํ ๊ฐ™์€ ๊ธฐ๋ณธ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ํŒŒ์ด์ฌ ๋ฌธ๋ฒ•์œผ๋กœ ์ž์œ ๋กญ๊ฒŒ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š”์ง€๊ฐ€ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค.

# ์˜ˆ์‹œ: ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ํ™œ์šฉํ•œ ๋นˆ๋„์ˆ˜ ๊ณ„์‚ฐ (์ž์ฃผ ์ถœ์ œ๋˜๋Š” ํŒจํ„ด)
def count_frequency(items):
    freq = {}
    for item in items:
        freq[item] = freq.get(item, 0) + 1
    return freq
  • ์‹œ๊ฐ„๋ณต์žก๋„(Big-O)๋ฅผ ์ง์ ‘ ์ฝ”๋“œ๋กœ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€
  • ์ •๋ ฌ, ํƒ์ƒ‰(์ด์ง„ ํƒ์ƒ‰) ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ง์ ‘ ๊ตฌํ˜„ํ•ด๋ดค๋Š”๊ฐ€
  • ์žฌ๊ท€ ํ•จ์ˆ˜์™€ ๋ฐ˜๋ณต๋ฌธ์˜ ์ฐจ์ด๋ฅผ ์˜ˆ์‹œ๋กœ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€

2. ํŒŒ์ด์ฌ ์–ธ์–ด ์ž์ฒด์— ๋Œ€ํ•œ ์ดํ•ด

๋‹จ์ˆœํžˆ ๋ฌธ๋ฒ•์„ ์•„๋Š” ๊ฒƒ์„ ๋„˜์–ด, "์™œ ๊ทธ๋ ‡๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€"๋ฅผ ๋ฌผ์–ด๋ณด๋Š” ์งˆ๋ฌธ์ด ๋งŽ์Šต๋‹ˆ๋‹ค. ๊ฐ€๋ณ€/๋ถˆ๋ณ€ ๊ฐ์ฒด, ์–•์€ ๋ณต์‚ฌ์™€ ๊นŠ์€ ๋ณต์‚ฌ, GIL(Global Interpreter Lock) ๊ฐ™์€ ๊ฐœ๋…์€ ์‹ค๋ฌด์—์„œ๋„ ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ๋‹จ๊ณจ ์งˆ๋ฌธ์ž…๋‹ˆ๋‹ค.

# ์˜ˆ์‹œ: ์–•์€ ๋ณต์‚ฌ vs ๊นŠ์€ ๋ณต์‚ฌ ์ฐจ์ด ํ™•์ธ
import copy

original = [[1, 2], [3, 4]]
shallow = copy.copy(original)
deep = copy.deepcopy(original)

original[0][0] = 99
print(shallow)  # [[99, 2], [3, 4]] - ์˜ํ–ฅ ๋ฐ›์Œ
print(deep)     # [[1, 2], [3, 4]] - ์˜ํ–ฅ ์—†์Œ
  • ๋ฆฌ์ŠคํŠธ์™€ ํŠœํ”Œ์˜ ์ฐจ์ด๋ฅผ ์„ฑ๋Šฅ ๊ด€์ ์—์„œ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€
  • ์ œ๋„ˆ๋ ˆ์ดํ„ฐ(yield)์™€ ์ผ๋ฐ˜ ํ•จ์ˆ˜์˜ ์ฐจ์ด๋ฅผ ์ดํ•ดํ•˜๊ณ  ์žˆ๋Š”๊ฐ€
  • ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ๋ฅผ ์ง์ ‘ ์ž‘์„ฑํ•ด๋ณธ ๊ฒฝํ—˜์ด ์žˆ๋Š”๊ฐ€

3. ์‹ค๋ฌดํ˜• ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ & ๋ฌธ์ œ ํ•ด๊ฒฐ ์—ฐ์Šต

์ด๋ก ์„ ์•ˆ๋‹ค๊ณ  ๋์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ œํ•œ ์‹œ๊ฐ„ ์•ˆ์— ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•˜๋Š” ํ›ˆ๋ จ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค, ๋ฐฑ์ค€, LeetCode ๊ฐ™์€ ํ”Œ๋žซํผ์—์„œ ํ•˜๋ฃจ 1~2๋ฌธ์ œ์”ฉ ๊พธ์ค€ํžˆ ํ‘ธ๋Š” ์Šต๊ด€์„ ๋“ค์ด๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.

๋‹จ์ˆœํžˆ ์ •๋‹ต์„ ๋งžํžˆ๋Š” ๊ฒƒ์—์„œ ๊ทธ์น˜์ง€ ๋ง๊ณ , ๋ฉด์ ‘๊ด€ ์•ž์—์„œ ๋‚ด๊ฐ€ ์™œ ์ด ๋ฐฉ์‹์„ ์„ ํƒํ–ˆ๋Š”์ง€๋ฅผ ๋ง๋กœ ์„ค๋ช…ํ•˜๋Š” ์—ฐ์Šต๊นŒ์ง€ ํ•จ๊ป˜ ํ•ด๋ณด์„ธ์š”. ์ฝ”๋“œ๋ณด๋‹ค ์‚ฌ๊ณ  ๊ณผ์ •์„ ๋” ์ค‘์š”ํ•˜๊ฒŒ ๋ณด๋Š” ํšŒ์‚ฌ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

  • ์ œํ•œ ์‹œ๊ฐ„ ๋‚ด์— ๋ฌธ์ œ๋ฅผ ํ’€๊ณ  ์ฝ”๋“œ๋ฅผ ๋ฆฌ๋ทฐํ•˜๋Š” ์—ฐ์Šต์„ ํ–ˆ๋Š”๊ฐ€
  • ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ์—ฌ๋Ÿฌ ๋ฐฉ์‹(๋ธŒ๋ฃจํŠธํฌ์Šค → ์ตœ์ ํ™”)์œผ๋กœ ํ’€์–ด๋ดค๋Š”๊ฐ€
  • ๋‚ด ํ’€์ด ๊ณผ์ •์„ ๋ง๋กœ ์„ค๋ช…ํ•˜๋Š” ์—ฐ์Šต์„ ํ•ด๋ดค๋Š”๊ฐ€

4. ํ”„๋กœ์ ํŠธ ๊ฒฝํ—˜ & ์ธ์„ฑ ์งˆ๋ฌธ ์ •๋ฆฌ

๊ธฐ์ˆ  ์งˆ๋ฌธ๋งŒํผ ์ค‘์š”ํ•œ ๊ฒƒ์ด ๋ณธ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ๋…ผ๋ฆฌ์ ์œผ๋กœ ์„ค๋ช…ํ•˜๋Š” ๋Šฅ๋ ฅ์ž…๋‹ˆ๋‹ค. "์™œ ์ด ๊ธฐ์ˆ ์„ ์„ ํƒํ–ˆ๋Š”์ง€", "์–ด๋–ค ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ–ˆ๋Š”์ง€"๋ฅผ STAR(์ƒํ™ฉ-๊ณผ์ œ-ํ–‰๋™-๊ฒฐ๊ณผ) ๊ตฌ์กฐ๋กœ ๋ฏธ๋ฆฌ ์ •๋ฆฌํ•ด๋‘๋ฉด ํ›จ์”ฌ ์ž์‹  ์žˆ๊ฒŒ ๋‹ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ด๋ ฅ์„œ์— ์ ์€ ํ”„๋กœ์ ํŠธ๋ฅผ 3๋ถ„ ์•ˆ์— ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€
  • ๊ธฐ์ˆ  ์„ ํƒ์˜ ์ด์œ ๋ฅผ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„ ๊ด€์ ์—์„œ ๋งํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€
  • ํ˜‘์—… ์ค‘ ๊ฒช์—ˆ๋˜ ๊ฐˆ๋“ฑ์ด๋‚˜ ์–ด๋ ค์›€๊ณผ ํ•ด๊ฒฐ ๊ณผ์ •์„ ์ •๋ฆฌํ–ˆ๋Š”๊ฐ€

๋งˆ๋ฌด๋ฆฌ: ์™„๋ฒฝ๋ณด๋‹ค ๊พธ์ค€ํ•จ์ด ๋จผ์ €์ž…๋‹ˆ๋‹ค

ํ•˜๋ฃจ์•„์นจ์— ๋ชจ๋“  ํ•ญ๋ชฉ์„ ์™„๋ฒฝํ•˜๊ฒŒ ์ค€๋น„ํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์ค‘์š”ํ•œ ๊ฑด ์ด ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ธฐ์ค€ ์‚ผ์•„ ๋ถ€์กฑํ•œ ์˜์—ญ์„ ํŒŒ์•…ํ•˜๊ณ , ๋งค์ผ ์กฐ๊ธˆ์”ฉ ์ฑ„์›Œ๋‚˜๊ฐ€๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ํŒŒ์ด์ฌ์€ ๋ฌธ๋ฒ•์ด ๊ฐ„๊ฒฐํ•œ ๋งŒํผ "์™œ"๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋Šฅ๋ ฅ์ด ํ•ฉ๊ฒฉ์„ ๊ฐ€๋ฅด๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค๋Š” ์ ์„ ๊ธฐ์–ตํ•˜์„ธ์š”.

์—ฌ๋Ÿฌ๋ถ„์ด ์ค€๋น„ ์ค‘์ธ ๋ฉด์ ‘์—์„œ ๊ฐ€์žฅ ์ž์‹  ์—†๋Š” ํ•ญ๋ชฉ์€ ๋ฌด์—‡์ธ๊ฐ€์š”? ๊ทธ ๋ถ€๋ถ„๋ถ€ํ„ฐ ์˜ค๋Š˜ 30๋ถ„๋งŒ ํˆฌ์žํ•ด๋ณด์„ธ์š”.

๐Ÿš€ Join! : simpledrop.net

Post a Comment

Previous Post Next Post