-
[자바스크립트] 프로그래머스 Lv.1 약수의 개수와 덧셈[TIL] 카테고리/알고리즘 문제풀기 2022. 5. 21. 01:03
... 노가다로 풀었다. 약간 민망하다. for과 if의 노예 재등장
function solution(left, right) { let divisors = 0; let counter = 0; for (i=left; i<=right; i++) { //왼쪽부터 오른쪽까지 수를 하나씩 for(j=1; j<=i; j++) { //소수를 찾기위해 반복문을 돌린다 if(i%j === 0) { counter++ } //숫자가 i로 나누어 떨어진다면 카운터 ++ } if (counter%2 === 0) { // 소수가 짝수라면 divisors += i // i를 결과값에 더하고 counter = 0 // 카운터 초기화 } else { divisors -= i // 이외에는 결과값에서 빼고 counter = 0 // 카운터 초기화 } } return divisors; }
... 지저분하다. 뿌엥.
function solution(left, right) { var answer = 0; for (let i = left; i <= right; i++) { if (Number.isInteger(Math.sqrt(i))) { answer -= i; } else { answer += i; } } return answer; }
다른 사람의 풀이.
제곱근이 정수면, 약수의 갯수가 홀수라고 한다..
수학 못하는거 초콤 서럽다..
'[TIL] 카테고리 > 알고리즘 문제풀기' 카테고리의 다른 글
[자바스크립트] 프로그래머스 Lv.1 예산 (0) 2022.05.23 [자바스크립트] 프로그래머스 Lv.1 약수의 합 (0) 2022.05.21 [자바스크립트] 프로그래머스 Lv.1 신규 아이디 추천 (0) 2022.05.18 [자바스크립트] 프로그래머스 Lv.1 시저 암호 (0) 2022.05.18 [자바스크립트] 프로그래머스 Lv.1 숫자 문자열과 영단어 (0) 2022.05.18