728x90
와 진짜 세상에 천재가 너무 많다............
약수의 개수 문제를 제곱근을 이용해서 풀어버리다니....
다른 풀이를 보고 무슨 말인가 했는데 ... 진짜 놀랍다...........
프로그래머스 레벨1문제 약수의 개수와 덧셈 문제이다.
약수의 개수가 홀수이면 -를 하고 짝수이면 +를 하는데.
약수의 개수가 홀수이면 제곱근이다.............. 진짜 이건 생각도 못했다.
그래서 Math.sqrt를 이용해서 풀더라.... 진짜 대박.....
내풀이
function solution(left, right) {
let answer = 0;
for(let i=left; i<=right; i++) {
let p = 1;
for(j=2; j<=i; j++) { // 약수 구하기
if(i%j == 0) p++;
}
if(p % 2 == 0) answer += i; // 짝수는 더하고
else answer -= i; // 홀수는 빼고
}
return answer;
}
다른사람 풀이
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;
}
728x90
'개인공부 > 프로그래머스' 카테고리의 다른 글
[0단계] 7의개수 (0) | 2023.02.05 |
---|---|
[0단계] 숫자찾기 (0) | 2023.02.04 |
[0단계]문자열정렬하기1 (0) | 2023.02.03 |
[0단계] 가위바위보 (0) | 2023.01.31 |
[0단계]제곱수판별하기 (0) | 2023.01.28 |