🧠Algorithm/심심풀이 땅콩πŸ₯œ

심심풀이 땅콩πŸ₯œ

4:Bee 2023. 9. 9. 22:08
728x90

GPT와 ν•¨κ»˜ν•˜λŠ” μ‹¬μ‹¬ν’€μ΄λ‘œ λ³΄λŠ” μ•Œκ³ λ¦¬μ¦˜μ΄λ‹€. ν•΄λ‹Ή ν¬μŠ€νŠΈλŠ” μ–΄λ– ν•œ κ°•μ˜λ‚˜ ꡐ재λ₯Ό κΈ°μ€€μœΌλ‘œ μž‘μ„±λœ 것이 μ•„λ‹ˆλ‹€. Python μ–Έμ–΄λ₯Ό μ‚¬μš©ν•  것이닀. 이 ν¬μŠ€νŠΈλŠ” 기본적인 λ‹¨κ³„μ˜ μ•Œκ³ λ¦¬μ¦˜μ„ λ‹€λ£° 것이닀.

기본에 μΆ©μ‹€ν•΄μ•Ό ν•œλ‹€λŠ” λ‚˜μ˜ 신념을 λ…Ήμ—¬ 내릴 심심풀이 땅콩πŸ₯œ ν¬μŠ€νŠΈμ΄λ‹€.


μ•Œκ³ λ¦¬μ¦˜μ„ κ³΅λΆ€ν•˜κΈ° μœ„ν•œ 기본적인 κ°œλ…

λΉ…μ˜€ν‘œκΈ°λ²•

λΉ…μ˜€ ν‘œκΈ°λ²•μ€ μ—°μ‚° 횟수λ₯Ό 계산 ν•˜λŠ” 것이 μ•„λ‹Œ μΈν’‹μ˜ 증가에 λ”°λ₯Έ μ—°μ‚° μ²˜λ¦¬κ°„μ˜ μ¦κ°€μœ¨μ„ μ˜ˆμΈ‘ν•˜λŠ” 척도이닀.

O(1)  Constant Time(μƒμˆ˜ μ‹œκ°„) μΈν’‹μ˜ 크기와 상관없이 항상 μΌμ •ν•œ μ‹œκ°„μ†Œμš”  
O(log n) Logarithmic(둜그 μ‹œκ°„)  λ‘œκ·Έμ‹œκ°„, O(1) λ‹€μŒμœΌλ‘œ λΉ λ₯Έ μ‹œκ°„ λ³΅μž‘λ„  
O(n) Linear(μ„ ν˜• μ‹œκ°„)  μ„ ν˜• μ‹œκ°„, μΈν’‹μ˜ 증가 μ‹œ 같은 λΉ„μœ¨λ‘œ 증가  
O(n^2)  Quadratic(제곱 μ‹œκ°„) 2μ°¨ μ‹œκ°„, μΈν’‹μ˜ 증가 μ‹œ n의 제곱 λΉ„μœ¨λ‘œ 증가  
O(n!)   Factorial (νŒ©ν† λ¦¬μ–Ό μ‹œκ°„)  νŒ©ν† λ¦¬μ˜¬ μ‹œκ°„ λ³΅μž‘λ„, κ°€μž₯ 느린 속도  

μš°λ¦¬κ°€ μœ„μ˜ μ‹œκ°„ λ³΅μž‘λ„λ₯Ό μ•Œμ•„μ•Ό ν•„μš”ν•œ 상황에 맞게 μ•Œκ³ λ¦¬μ¦˜μ„ μ„ νƒν•΄μ„œ 쒋은 μ„±λŠ₯의 κ°œλ°œμ„ ν•  수 있게 λœλ‹€.


λ‚˜λ§Œμ˜ 풀이식

n = 4 / arr = [2,3,5,1]
i = 0
j = 0
N번째
if
F
arr[1] > arr[0] / 2 > 3
res arr[0] = 2
j = 1 if
F
arr[1] > arr[2] / 3 > 5
res arr[0] = 2 / arr[1] = 3
j = 2 if
T
arr[2] > arr[3] / 5 > 1
res SAWP
arr[2](= 5), arr[3](= 1) = arr[3](= 1), arr[2](= 5)
arr[0] = 2 / arr[1] = 3 / arr[2] = 1 / arr[3] = 5

μœ„μ˜ 풀이식은 버블 μ •λ ¬μ˜ μ˜ˆμ‹œμ΄λ‹€. 잘λͺ»λœ 정보가 μžˆμ„ μˆ˜λ„ μžˆμœΌλ‹ˆ ν‘œμ˜ ν˜•μ‹λ§Œ μ°Έκ³ ν•˜λ©΄ 쒋을 λ“―ν•˜λ‹€.  개인적으둜 μ•Œκ³ λ¦¬μ¦˜μ„ κ³΅λΆ€ν•˜λ©΄μ„œ λ‚˜λ¦„ ν„°λ“ν•œ λ…Έν•˜μš°μ΄λ‹€. μ—¬λŸ¬ ꡐ재λ₯Ό λ³΄μ•˜μ„ λ•ŒλŠ” μˆ˜λ§Žμ€ κ·Έλ¦Όλ“€λ‘œ μ„€λͺ…을 ν•˜μ§€λ§Œ 였히렀 λ”μš± λ³΅μž‘ν•˜κ³  μ •κ΅ν•˜μ§€ λͺ»ν•˜λ‹€κ³  λŠλ‚€ 뢀뢄듀이 λ§Žλ‹€. 였히렀 ν•˜λ‚˜μ˜ μˆ˜ν•™ ν’€μ΄μ‹μœΌλ‘œ μž‘μ„±ν•˜λ©΄ λ”μš± μ΄ν•΄ν•˜κΈ° 쉽고 κ³΅λΆ€ν•˜κΈ° νŽΈν•˜λ‹€. 이 μž‘μ—…μ€ ꡉμž₯히 λ²ˆκ±°λ‘­μ§€λ§Œ 이λ₯Ό ν†΅ν•΄μ„œ 보닀 빨리 μ΄ν•΄ν•˜κ³  μ˜ˆμΈ‘κ°€λŠ₯ν•˜κ²Œ μ½”λ“œλ₯Ό μ§€ 수 μžˆμœΌλ‹ˆ λ²ˆκ±°λ‘œμ›Œλ„ 가급적 μ†μœΌλ‘œ μ¨κ°€λ©΄μ„œ μ•Œκ³ λ¦¬μ¦˜μ„ μ΄ν•΄ν•˜κ³  κ³΅λΆ€ν•˜λ©΄ 쒋을 λ“―ν•˜λ‹€.

728x90