: 프로그래머스 코딩테스트 연습 JavaScript Lv1 풀어보기
클릭해서 문제 전체 보기🔼
function solution(s) {
return s.slice(Math.floor((s.length - 1) / 2), Math.ceil((s.length - 1) / 2) + 1);
}
📢 풀이 설명
문자열 길이를 반으로 나눈 값을 내림과 올림 한 후, 올림+1 해서 자른다. 홀수는 1개, 짝수는 2개가 잘린다.
클릭해서 문제 전체 보기🔼
function solution(n) {
let 수박 = "수박".repeat(Math.ceil(n/2));
if(n % 2 == 1) return 수박.slice(0, -1);
return 수박;
}
📢 풀이 설명
n / 2만큼 "수박"을 반복하고, n이 홀수면 마지막 글자인 박을 자른다.
클릭해서 문제 전체 보기🔼
function solution(a, b) {
let inner = a.reduce((acc, cur, idx) => {
acc += cur * b[idx];
}, 0);
return inner;
}
📢 풀이 설명
a, b 배열의 각 요소를 곱해서 모두 더한다.
클릭해서 문제 전체 보기🔼
function solution(left, right) {
let sum = 0;
for(i=left; i<=right; i++) {
let count = 1;
for(j=1; j<=(i/2); j++) {
if(i % j == 0) count++
}
if(count % 2 == 0) sum += i;
else sum -= i;
}
return sum;
}
📢 풀이 설명
각 수의 약수 개수를 카운트 해서 짝수면 +, 홀수면 -한다. 그렇게 주어진 범위의 모든 수를 계산해서 반환한다.