🟣 였늘의 문제 회고

κΉ€νƒœμš±Β·2023λ…„ 3μ›” 9일
0
post-thumbnail

πŸ§‘β€πŸ’» μ°¨κ·Ό μ°¨κ·Ό ν’€μ–΄κ°€λŠ” μž…λ¬Έ ν…ŒμŠ€νŠΈ


[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€]의 쀑앙값 κ΅¬ν•˜κΈ° λ¬Έμ œμ΄λ‹€.

문제 μ„€λͺ…
쀑앙값은 μ–΄λ–€ 주어진 값듀을 크기의 μˆœμ„œλŒ€λ‘œ μ •λ ¬ν–ˆμ„ λ•Œ κ°€μž₯ 쀑앙에 μœ„μΉ˜ν•˜λŠ” 값을 μ˜λ―Έν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ 1, 2, 7, 10, 11의 쀑앙값은 7μž…λ‹ˆλ‹€. μ •μˆ˜ λ°°μ—΄ arrayκ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, 쀑앙값을 return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄λ³΄μ„Έμš”.

μ œν•œμ‚¬ν•­
array의 κΈΈμ΄λŠ” ν™€μˆ˜μž…λ‹ˆλ‹€.
0 < array의 길이 < 100
-1,000 < array의 μ›μ†Œ < 1,000

μž…μΆœλ ₯ 예

arrayresult
[1, 2, 7, 10, 11]7
[9, -1, 0]0

풀이 μ•žμ„œ 문제 μ ‘κ·Όν•˜κΈ°

array μΈμžμ— λŒ€μž…λ˜λŠ” 배열을 νŒŒμ•…ν•˜κ³  쀑간 κ°’μ˜ 데이터λ₯Ό ꡬ해야 ν–ˆκΈ°μ—,
ν•΄λ‹Ή λ°°μ—΄μ˜ lengthμ—μ„œ 값을 λ‚˜λˆˆ λ‹€μŒ.
배열을 μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬ν•˜μ—¬ anwer[lengthλ₯Ό λ‚˜λˆˆ λ‚˜λ¨Έμ§€ κ°’]을 λΆˆλŸ¬μ™€
ν•΄λ‹Ή κ²°κ³Όλ₯Ό λ¦¬ν„΄ν•˜λ©΄ μ–΄λ–¨κΉŒ μƒκ°ν–ˆλ‹€.

문제점
μ ‘κ·Ό μƒκ°κΉŒμ§„ μ’‹μ•˜μœΌλ‚˜, μ–΄λ–»κ²Œ ν•˜λ©΄ 풀이 μˆ˜μ‹μ΄ μ œλŒ€λ‘œ μ΄λ€„μ§ˆκΉŒ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” 게 μƒκ°λ‚˜μ§€ μ•Šμ•˜λ‹€. κ²°κ΅­ 풀이λ₯Ό λ³΄μ•˜κ³  λ‚΄κ°€ μƒκ°ν•œ 풀이와 크게 λ²—μ–΄λ‚œ 뢀뢄이 μ—†μ–΄ 닀행이닀 μƒκ°ν–ˆμ§€λ§Œ.. λ‹€μŒμ—” λ‚΄ μ†μœΌλ‘œ ν•΄λ‚Ό 것을 λ‹€μ§ν–ˆλ‹€.

λ‚˜μ˜ 풀이

function solution(array) {
    let centerArr = Math.floor(array.length / 2)
    let sortArr = array.sort((a,b) => (a-b))

    return sortArr[centerArr]
}

🫒 인상 κΉŠμ—ˆλ˜ λ‹€λ₯Έ μ‚¬λžŒμ˜ 풀이

function solution(array) {
  return array.sort((a, b) => a - b)[Math.floor(array.length / 2)];
}

리턴 ν•  배열에 λ°”λ‘œ μ •λ ¬ λ©”μ†Œλ“œλ₯Ό μž‘μ„±κ³Ό ν•¨κ»˜ [μΆ”μΆœν•  length] 값을 λ°”λ‘œ 리턴 ν•  μˆ˜λ„ μžˆκ΅¬λ‚˜ κΉ¨λ‹«κ²Œ 됨.

profile
방법을 연ꡬ할 쀄 μ•„λŠ” 개발자!

0개의 λŒ“κΈ€