μ•½μˆ˜μ˜ ν•©

문제 πŸ“–

μ •μˆ˜ n을 μž…λ ₯λ°›μ•„ n의 μ•½μˆ˜λ₯Ό λͺ¨λ‘ λ”ν•œ 값을 λ¦¬ν„΄ν•˜λŠ” ν•¨μˆ˜, solution을 μ™„μ„±ν•΄μ£Όμ„Έμš”.

  • n은 0 이상 3000μ΄ν•˜μΈ μ •μˆ˜μž…λ‹ˆλ‹€.

λ‚˜μ˜ 풀이 πŸ™‹β€β™€οΈ

function solution(n) {
  let sum = n;
  for (let i = 1; i <= Math.floor(n / 2); i++) {
    if (n % i === 0) sum += i;
  }
  return sum;
}

κ°„λ‹¨ν•˜κ²Œ for문을 μ‚¬μš©ν–ˆλ‹€.

μ–΄μ°¨ν”Ό μ£Όμ–΄μ§„ 수 n의 μ ˆλ°˜κΉŒμ§€λ§Œ μ •λ‹΅μ˜ 유효 λ²”μœ„μ΄κΈ° λ•Œλ¬Έμ— 반볡 횟수λ₯Ό μ‘°κΈˆμ΄λΌλ„ 쀄이렀고 신경썼닀.

λ°˜λ³΅λ¬Έμ„ 톡해 μ£Όμ–΄μ§„ 수 n을 μ •μˆ˜λ‘œ λ‚˜λˆˆ 값이 0일 경우, 총합 sum에 더해쀀닀.

Leave a comment