🌟 = 내가 생각한 난이도있는 풀이
1. 수박수박수박수박수박수? 1레벨
2. 내적 1레벨
3. 약수의 개수와 덧셈 1레벨
function solution(n) {
var answer = '';
for(let i = 1; i <= n; i++) { // 자연수니까 초기값은 1로 시작한다.
if(i % 2 === 0){
answer += "박"; // n값이 짝수일때, "박"을 카운팅
} else {
answer += "수"; // n값이 홀수일땐, "수"을 카운팅
}
}
return answer;
}
function solution(a, b) {
var answer = 0;
for(let i = 0; i < a.length; i++){
for(let j = 0; j < b.length; j++){
answer = answer + (a[i] * b[j]);
}
}
return answer;
}
// 왜 a랑 b을 나눠 생각해야한다고 했을까?
function solution(a, b) {
var answer = 0;
for(let i = 0; i < a.length; i++){
answer += (a[i] * b[i]);
}
return answer;
}
function solution(left, right) {
var answer = 0;
for(let i=left; i<=right; i++) {
Math.sqrt(i) % 1 === 0 ? answer-=i : answer+=i;
} // 제곱근이 정수일때는 빼줘라 !
// 9, 16, 25, 36, 49, 64 ....
// 제곱수는 약수의 개수가 홀수이다..
return answer;
}
나의 풀이
: 도저히 풀수가 없어서 머리가 터질뻔했다. 제곱근 구하는 메서드는 알고있었지만 수학적 개념이 부족한 나로써는 어떻게 써야할지도 몰랐고,
구글링으로 문제 풀이를 하다가 제곱근의 정의를 좀 더 알게됬다..
🌟 제곱수의 경우, 약수들은 짝지어지는 것이 아니라 중간에 하나의 약수만 존재한다
예를 들어, 9의 약수는 1, 3, 9인데 서로 짝지어지는 약수가 없다.
하지만 12의 경우에는 약수들이 1과 12, 2와 6으로 짝지어진다...
고로,,, 제곱수는 약수의 개수가 '홀수'이다 🌟!!!
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;
}