[JS] μ•Œκ³ λ¦¬μ¦˜ : μ΅œμ†Œκ°’ μœ„μΉ˜
728x90

문제

μˆ˜μ—΄μ΄ μ£Όμ–΄μ§ˆ λ•Œ, 이 μˆ˜μ—΄μ˜ μžˆλŠ” 수 쀑 μ΅œμ†Œκ°’μ˜ μœ„μΉ˜λ₯Ό λͺ¨λ‘ 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯은 μžμ—°μˆ˜λ‘œ 된 배열을 λ°›κ³ , μ‹œμž‘ μœ„μΉ˜λŠ” 0으둜 κ³„μ‚°ν•˜μ—¬ μ΅œμ†Œκ°’μ˜ μœ„μΉ˜λ₯Ό λ°°μ—΄λ‘œ λ°˜ν™˜ν•œλ‹€. λͺ¨λ“  μˆ˜λŠ” 100μ΄ν•˜μ˜ μžμ—°μˆ˜λ‘œ μž…λ ₯λ°›λŠ”λ‹€.

 

μž…λ ₯κ°’

[5, 2, 10, 2]

[4, 5, 7, 4, 8]

[12, 11, 11, 16, 11, 12]

좜λ ₯κ°’

#1 [1, 3]

#2 [0, 3]

#3 [1, 2, 4]

 

 

πŸ‘©‍πŸ’» 풀어보기

function answer(nums) {
  let result = [];

  let min = nums[0];
  for (let i = 0; i <= nums.length; i++) {
    if (min > nums[i]) {
      min = nums[i];
    }
  }

  for (let i = 0; i <= nums.length; i++) {
    if (min == nums[i]) result.push(i);
  }

  return result;
}

λ¨Όμ € μ΅œμ†Œκ°’μ„ λ¨Όμ € ꡬ해야겠닀고 μƒκ°ν•΄μ„œ 첫 번째 forλ¬Έμ—μ„œ λ‹€μŒ 인덱슀의 μˆ˜μ™€ λΉ„κ΅ν•˜λ©° μ΅œμ†Œκ°’μ„ κ΅¬ν–ˆλ‹€.

μ΄μ–΄μ„œ 두 번째 for문을 톡해 μ΅œμ†Œκ°’μ˜ μœ„μΉ˜μ— ν•΄λ‹Ήν•˜λŠ” 인덱슀λ₯Ό κ΅¬ν•˜μ—¬ result 배열에 λ„£μ—ˆλ‹€.

 

 

λΆ€μ‘±ν–ˆλ˜ 점

let min = nums[0];
    • μ΅œμ†Œκ°’μ€ κ°€μž₯ 큰 κ°’μœΌλ‘œ ν•΄μ•Ό μ΄ˆκΈ°ν™”κ°€ 될 수 μžˆλ‹€. μ•„λž˜μ™€ 같이 Number의 속성 쀑 ν•˜λ‚˜λ‘œ μ–‘μ˜ μ΅œλŒ€κ°’μ„ 지정할 수 μžˆλ‹€.
let min = Number.MAX_SAFE_INTEGER;

 

  • κ²°κ΅­ 인덱슀 λ•Œλ¬Έμ— for문을 μ‚¬μš©ν•΄μ•Ό ν•˜λŠ”λ° κΌ¬μ•„μ„œ μƒκ°ν•˜λŠλΌ μ‹œκ°„μ΄ 더 많이 걸렸던 것 κ°™λ‹€.

 

 

 


🀸‍β™€οΈπŸ€Έ‍β™€οΈπŸ€Έ‍β™€οΈπŸ€Έ‍β™€οΈπŸ€Έ‍β™€οΈπŸ€Έ‍♀️

λ°©λ¬Έν•΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€! πŸ™Œ

ν¬μŠ€νŒ…λ“€μ€ κ³΅λΆ€μ€‘인 λ‚΄μš©μ„ κΈ€λ‘œ μž‘μ„±ν•œ 것이라 λΆ€μ‘±ν•œ 점이 λ§ŽμœΌλ‹ˆ μ°Έκ³  λΆ€νƒλ“œλ¦½λ‹ˆλ‹€. 

λΆ€μ‘±ν•œ 뢀뢄에 λŒ€ν•œ μ½”λ©˜νŠΈλŠ” μ–Έμ œλ‚˜ ν™˜μ˜μž…λ‹ˆλ‹€.

쒋은 ν•˜λ£¨ λ˜μ„Έμš”, κ°μ‚¬ν•©λ‹ˆλ‹€! πŸ™‚

 

 

728x90