TIL 24: [자료ꡬ쑰/μ•Œκ³ λ¦¬μ¦˜] μž¬κ·€

μž¬κ·€... μ΅μˆ™ν•΄μ§€λŠ” 것 κ°™μœΌλ©΄μ„œλ„ μ΅μˆ™ν•΄μ§€μ§€ μ•ŠλŠ” μž¬κ·€μž…λ‹ˆλ‹€..γ… γ…  

κ·Έλž˜λ„ μ½”ν”Œλ¦Ώ ν’€λ©΄μ„œ λ‚˜λ¦„ μ΅μˆ™ν•΄μ§„ 것 κ°™μ§€λ§Œ μ§„μ§œ μ–΄λ €μš΄ 문제 λΆ€λ”ͺ히면 잘 λͺ»ν’€ 것 κ°™μ•„μš”.

자주자주 보고 μš”κ²ƒλ„ λ°˜λ³΅μˆ™λ‹¬ ν•΄μ•Όκ² μ–΄μš”!

 

 

μž¬κ·€ν•¨μˆ˜

μž¬κ·€ν•¨μˆ˜μ˜ 뜻

μž¬κ·€ν•¨μˆ˜λŠ” μ–΄λ–€ ν•¨μˆ˜κ°€ 슀슀둜λ₯Ό ν˜ΈμΆœν•˜λŠ” 것을 λ§ν•©λ‹ˆλ‹€.

 

μž¬κ·€ν•¨μˆ˜κ°€ μ“°μ΄λŠ” 상황

μž¬κ·€λŠ” λ‹€μŒκ³Ό 같은 μƒν™©μ—μ„œ 쓰일 수 μžˆμŠ΅λ‹ˆλ‹€.

  1. μ£Όμ–΄μ§„ 문제λ₯Ό λΉ„μŠ·ν•œ ꡬ쑰둜 더 μž‘κ²Œ λ‚˜λˆŒ 수 μžˆλŠ” 경우
  2. μ€‘μ²©λœ 반볡문이 λ§Žκ±°λ‚˜ 반볡문의 쀑첩 횟수(number of loops)λ₯Ό μ˜ˆμΈ‘ν•˜κΈ° μ–΄λ €μš΄ 경우

 

μž¬κ·€ν•¨μˆ˜ μ“°λŠ” 법

μž¬κ·€ν•¨μˆ˜λ₯Ό μ“°λŠ” 방법은 κ°„λ‹¨ν•˜κ²Œ μ•„λž˜μ™€ 같이 ν‘œν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  1. 기쑴의 λ¬Έμ œμ—μ„œ μΆœλ°œν•˜μ—¬ 더 μž‘μ€ 경우λ₯Ό μƒκ°ν•©λ‹ˆλ‹€.
  2. 같은 λ°©μ‹μœΌλ‘œ, λ¬Έμ œκ°€ λ”λŠ” μž‘μ•„μ§€μ§€ μ•Šμ„ λ•ŒκΉŒμ§€ 더 μž‘μ€ 경우λ₯Ό μƒκ°ν•©λ‹ˆλ‹€.
  3. λ¬Έμ œκ°€ κ°„λ‹¨ν•΄μ Έμ„œ λ°”λ‘œ ν’€ 수 있게 λ˜λŠ” μˆœκ°„λΆ€ν„° μ•žμ„œ μƒμ„±ν•œ 문제λ₯Ό μ°¨κ·Όμ°¨κ·Ό ν•΄κ²°ν•©λ‹ˆλ‹€.

 

μ½”ν”Œλ¦Ώμ—μ„œ κΈ°μ–΅ν• λ§Œν•œ 점

arr.isEmpty()λ₯Ό 톡해 배열이 λΉ„μ–΄μžˆλŠ”μ§€ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

forEach μš©λ²• 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach

 

Array.prototype.forEach() - JavaScript | MDN

forEach() λ©”μ„œλ“œλŠ” μ£Όμ–΄μ§„ ν•¨μˆ˜λ₯Ό λ°°μ—΄ μš”μ†Œ 각각에 λŒ€ν•΄ μ‹€ν–‰ν•©λ‹ˆλ‹€.

developer.mozilla.org

 

 

Sprint Office Hour

Base Case: λΉ μ Έλ‚˜μ˜¬ 수 μžˆλŠ” 쑰건

Recursive Case: μž¬κ·€ ν•¨μˆ˜κ°€ μ“°μ΄λŠ” λΆ€λΆ„

μž¬κ·€λ₯Ό μ•ˆμ“°κ³  μ½”λ“œ μž‘μ„±ν• λ•Œ whileλ¬Έ μ•ˆμ— μžˆλŠ”μ‹μ΄ recursive 라고 생각해도 λ κΉŒμš”? λ„΅

maximum callstack : λ¬΄ν•œλ£¨ν”„μ— λΉ μ§„ 상황

 

 

 

 

μ˜€λŠ˜λ„ ν•˜λ£¨κ°€ λλ‚¬λ„€μš”... μ˜ˆμ „ νŽ˜μ–΄λΆ„ 덕뢄에 VS Codeμ—μ„œ 디버그 μ–΄λ–»κ²Œ ν•˜λŠ”μ§€, Toy Problem λ¬Έμ œν’€μ΄ κΏ€νŒ λ“± λ‹€μ–‘ν•˜κ²Œ λ°°μ›Œκ°ˆ 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. λ‚ΌλΆ€ν„° ν•„μš”ν• λ•Œλ§ˆλ‹€ 디버그 해볼거에여! 저도 ν•œλ²ˆ λ”°λ‘œ 더 검색해보고 μ°Ύμ•„λ³΄λŠ” μžμ„Έλ₯Ό κ°€μ Έμ•Ό ν•  것 κ°™μ•„μš”.

이외 배운 점: || λΉ„κ΅μ—°μ‚°μžμ˜ λ‹€λ₯Έ μ—­ν•  (falsyν•œ 값을 κ°€μ§€λ©΄ {}둜 내보낸닀), μ •λ ¬(Bubble Sort, Insertion Sort, Merge Sort λ“±λ“±), 이진탐색(Binary Search), ν•΄μ‹œν…Œμ΄λΈ”λ‘œ μ‹œκ°„λ³΅μž‘λ„ n도 μ•„λ‹ˆκ³  log n도 μ•„λ‹Œ 1둜 쀄일 수 μžˆλ‹€. VS Code μΉ  λ•Œ 물방울 촀라락

Toy Problem ν’€λ©΄μ„œ 첫날뢀터 이 저도 λ‚œμ΄λ„μ΄λ©΄ μ–΄λ–‘ν•˜μ§€ 걱정이 많이 λμŠ΅λ‹ˆλ‹€. μ•žμœΌλ‘œ 더 μ—΄μ‹¬νžˆ 곡뢀해야 ν•  것 κ°™μ•„μš”!

ν•˜μ§€λ§Œ μ§€κΈˆμ€ 눈이 λ„ˆλ¬΄ 감기기에 λ‚Ό μ•„μΉ¨ 일찍 μΌμ–΄λ‚˜μ„œ  λ§ˆμ € κ³΅λΆ€ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€γ…Žγ…Ž