๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Lv.1 "์•ฝ์ˆ˜์˜ ํ•ฉ"

by Youcodein 2022. 11. 2.
728x90
๋ฐ˜์‘ํ˜•

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Lv.1 "์•ฝ์ˆ˜์˜ ํ•ฉ"

๋ฌธ์ œ : " ์ •์ˆ˜ n์„ ์ž…๋ ฅ๋ฐ›์•„ n์˜ ์•ฝ์ˆ˜๋ฅผ ๋ชจ๋‘ ๋”ํ•œ ๊ฐ’์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. "

์กฐ๊ฑด : n์€ 0 ์ด์ƒ 3000์ดํ•˜์ธ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค.

๋‚ด ํ’€์ด

function solution(n) {
  let answer = 0;
  for(let i=0; i<=n; i++){
      if(n%i==0){
          answer+=i;
      }
  }
  return answer;
}

n์„ i๋กœ ๋‚˜๋ˆˆ ๊ฐ’์ด 0์ด ๋์„ ๋•Œ, ์ฆ‰ n์˜ ์•ฝ์ˆ˜์ธ ๊ฐ’ i๋ฅผ ๋‹ค ๋”ํ•˜๊ธฐ ์œ„ํ•ด answer+=i;์„ ์จ์ค€ ํ›„ return์œผ๋กœ ์ถœ๋ ฅํ•˜๋ฉด ์•ฝ์ˆ˜์˜ ํ•ฉ์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ํ’€์ด

function sumDivisor(num) {
  var root=Math.sqrt(num);
  var sum=num;
  for(var i=0;i<num;i++){
      if(i>root && num%i==0){
          sum=sum+i;
          console.log("ํฐ์ˆ˜: "+sum);
      }else if(i<root && num%i==0){
           sum=sum+i;
          console.log("์ž‘์€์ˆ˜: "+sum);
      }
  }
  return sum;
}

์กฐ๊ฑด์œผ๋กœ num์˜ ์ œ๊ณฑ๊ทผ์„ ๊ตฌํ•˜๋Š” ๋ณ€์ˆ˜ root๋ฅผ ์ง€์ •ํ•ด์„œ ์•ฝ์ˆ˜๊ฐ€ num์˜ ์ œ๊ณฑ๊ทผ๋ณด๋‹ค ์ž‘์„๋•Œ์™€ ํด๋•Œ์˜ ๋ฒ”์œ„๋ฅผ ์ •ํ•ด์„œ ์•ฝ์ˆ˜์˜ ํ•ฉ์„ ๊ตฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€