: 프로그래머스 코딩테스트 연습 JavaScript Lv1 풀어보기
클릭해서 문제 전체 보기🔼
function solution(n) {
let half = Math.ceil(n / 2);
let sum = n;
if(n == 0) return 0;
if(n == 1) return 1;
for(i=1; i<=half; i++) {
if(n % i == 0) sum += i;
}
return sum;
}
📢 풀이 설명
반복문을 사용해 약수를 찾아 더해준다. 이때 n이 0 또는 1이면 반복문을 돌 필요가 없으므로 early return 해준다.
클릭해서 문제 전체 보기🔼
function solution(x, n) {
var answer = [];
for(i=x; answer.length<n; i+=x) {
answer.push(i)
}
return answer;
}
📢 풀이 설명
answer 배열 개수가 n개가 될 때까지, x에 +x를 더해서 push시킨다.
클릭해서 문제 전체 보기🔼
function solution(n) {
return n.toString().split("").map(ele => +ele).reverse();
}
📢 풀이 설명
n을 쪼개서 배열로 만든 후, 각 요소를 숫자로 변환 후, 최종적으로 배열을 뒤집는다.
클릭해서 문제 전체 보기🔼
function solution(s){
let pCount = 0;
let yCount = 0;
s.split("").forEach(ele => {
if(ele == "p" || ele == "P") pCount++
if(ele == "y" || ele == "Y") yCount++
})
if(pCount == 0 && yCount == 0) return true;
if(pCount - yCount == 0) return true;
return false;
}
📢 풀이 설명
p,P의 개수와 y,Y의 개수를 따로 센다. 그 후 둘 다 0이 아니면서, 둘의 값이 같을 때(둘 값을 뺐을 때 0) true를 반환한다.