정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.
answer 초기 배열 설정 해 준 후 짝수, 홀수 일 때마다 값 +1을 해주었다.
function solution(num_list) {
let answer = [0, 0];
for (let i of num_list) {
i % 2 === 0 ? (answer[0] += 1) : (answer[1] += 1);
}
return answer;
}
하기는 다른 사람 풀이 인데 answer[a%2]
로 짝수,홀수를 표현한 부분이 매우 인상적이었다...
function solution(num_list) {
var answer = [0, 0];
for (let a of num_list) {
answer[a % 2] += 1;
}
return answer;
}
문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.
내키진 않았지만 이중 for문으로 문제를 해결하였다...
repeat()을 알기 전까진...
function solution(my_string, n) {
let answer = "";
for (let i = 0; i < my_string.length; i++) {
for (let j = 0; j < n; j++) {
answer += my_string[i];
}
}
return answer;
}
repeat메서드는 문자열을 반복한 값을 반환한다.
매개변수로 받은 n
번 만큼 반복 시켜 문자열을 출력해주면 훨씬 간단해진다.
function solution(my_string, n) {
let answer = [...my_string].map((el) => el.repeat(n)).join("");
return answer;
}
문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.
이 풀이는 filter 메서드로 간단하게 풀 수 있었지만, 다른 사람 풀이가 인상깊어 포스팅한다.
<나의 풀이>
function solution(my_string, letter) {
return [...my_string].filter((el) => el !== letter).join("");
}
<다른 사람 풀이>
split메서드를 사용하여 letter값을 제외시키는 방법!
function solution(my_string, letter) {
const answer = my_string.split(letter).join("");
return answer;
}
등차수열 혹은 등비수열 common이 매개변수로 주어질 때, 마지막 원소 다음으로 올 숫자를 return 하도록 solution 함수를 완성해보세요.
등차수열과 등비수열 일 때를 분기하여 값을 리턴해주었다.
function solution(common) {
if (common[1] - common[0] === common[2] - common[1]) {
return common[1] - common[0] + common[common.length - 1]; // 등차수열 일 때
} else {
return (common[1] / common[0]) * common[common.length - 1];
} // 등비수열 일 때
}
덧셈, 뺄셈 수식들이 'X [연산자] Y = Z' 형태로 들어있는 문자열 배열 quiz가 매개변수로 주어집니다. 수식이 옳다면 "O"를 틀리다면 "X"를 순서대로 담은 배열을 return하도록 solution 함수를 완성해주세요.
구조분해할당으로 좌변, 우변 식을 분리 한 후 eval 메서드를 사용하여 좌변을 계산 후 우변과 비교하였다.
function solution(quiz) {
return quiz.map((el) => {
const [left, right] = el.split(" = ");
return eval(left) === +right ? "O" : "X";
});
}
이 밖에 푼 문제 : 연속된 수의 합, 직각삼각형 출력하기, 가장 큰 수 찾기, 종이자르기