728x90
내가 쓴 코드
function solution(left, right) {
let count = 0;
let sum = 0
for(let i =left; i <=right; i++){
for(let j =1; j<=i; j++){
if(i%j == 0){
count +=1
}
} if(count % 2 == 0){
sum += i
} else{
sum -= i
}
count =0
} return sum
}
내 1점 짜리코드...
약수의 개수를 셀 변수를 하나 만들고
값을더할수 있는 변수도 하나 만든다
조건은 left 숫자 부터 right사이의 숫자니까
반복문을 걸어서 그 숫자만큼 진행 하도록 했다
그다음에 약수를 구하도록 했는데
약수는 나누어 떨어지는 수를 말하니까 반복문을 통해서 1부터 나눈 나머지 값이 0일때만
count에 +1을 하도록 해서 약수의 개수를 구한다음
조건문을 돌려서 짝수면 + 홀수면 -을 하게 한다
여기서 중요한점은 매 숫자마자 약수의 개수를 알아야 함으로
count를 다시 0으로 바꿔 줘야 한다는 점이다.
728x90
'알고리즘 문제' 카테고리의 다른 글
알고리즘 문제 js 43 - 예산 (0) | 2022.02.16 |
---|---|
알고리즘 문제 js 42- 약수의 합 (0) | 2022.02.16 |
알고리즘 문제 js 40-신규 아이디 추천 (0) | 2022.02.16 |
알고리즘 문제 js 38- 숫자 문자열과 영단어 (0) | 2022.02.08 |
알고리즘 문제 js 37- 소수 만들기 (0) | 2022.02.05 |