항해 프로그래머스
항해3주차 자바스크립트 프로그래머스 - 짝수 홀수 개수
완두노예
2023. 1. 27. 10:39
처음 풀이
function solution(num_list) {
num_list = OddNumber, EvenNumber
if num_list / 2 === 0
return Evennumber;
else return OddNumber;
console.log(OddNumber, EvenNumber);
}
수정 풀이
function solution(num) {
var answer = '';
if (num % 2 === 0) {
return answer = "Even"
} else {
return answer = "Odd"
}
return answer;
}
최종 풀이
function solution(num_list) {
let answer = [];
let even = [];
for (let i=0; i<num_list.length; i++){
if (num_list[i] % 2 === 0){
even.push(i);
}
}
answer = [even.length, num_list.length - even.length]
return answer;
}
다른 풀이
+=1 이 무엇인지 이해가 안갔음
function solution(num_list) {
// 객체 만들기
const obj = { 'even': 0, 'odd': 0}
// 배열 순회하면서 객체에 넣기
// 짝수인 경우에는 key가 odd로
// 홀수인 경우에는 key가 even으로
for (let i = 0; i < num_list.length; i++) {
if (num_list[i] % 2 === 1) {//for문 돌려서 나눈값에
obj['odd'] += 1 //숫자를 하나씩 증가해 대입해간다는 뜻
} else {
obj['even'] += 1 // +=1 숫자를 하나씩 늘려간다.
}
}
return [obj['even'], obj['odd']]
}
function solution(num_list) {
let num1 = 0, num2 = 0;
num_list.forEach(value=>{
if(value % 2 === 1) num1++;
else num2++;
})
return [num2, num1];
}
체크 - for(let a of ) 형태, 배열과 인덱스를 잘 활용한 코드, 짝수 홀수의 나머지를 인덱스로 활용
function solution(num_list) {
var answer = [0,0];
for(let a of num_list){
answer[a%2] += 1
}
return answer;
}
function solution(num_list) {
return [
num_list.filter((num) => num % 2 === 0).length,
num_list.filter((num) => num % 2 === 1).length,
];
}
function solution(num_list) {
return num_list.reduce(([even, odd], curr) => {
return [
curr % 2 === 0? even + 1 : even,
curr % 2 === 1? odd+1 : odd
]
}, [0,0])
}
function solution(list) {
return list.reduce((acc, cur) => (cur & 1 ? acc[1]++ : acc[0]++, acc), [0, 0])
}
function solution(num_list) {
var answer = [0, 0];
for(let i = 0 ; i < num_list.length; i++){
if(num_list[i] % 2 == 0) answer[0]++;
else answer[1]++;
}
return answer;
}
function solution(num_list) {
return [num_list.filter(v=>v%2===0).length, num_list.filter(v=>v%2===1).length];
}
function solution(num_list) {
return num_list.reduce((acc, v) => {
acc[v % 2 === 0 ? 0 : 1] += 1
return acc
}, [0, 0]);
}
const is_even = (num) => {
return num % 2 === 0;
};
const not = (func) => (args) => {
return !func(args);
};
function solution(num_list) {
return [
num_list.filter(is_even).length,
num_list.filter(not(is_even)).length,
];
}
function solution(num_list) {
const answer = Array(2)
answer[1] = num_list.filter(el => el % 2 !== 0).length
answer[0] = num_list.filter(el => el % 2 === 0).length
return answer
}
function solution(num_list) {
const answer = [];
let odd = 0;
let even = 0;
num_list.forEach(i => {
i % 2 === 0 ? even++ : odd++;
});
answer.push(even, odd);
return answer;
}