-
항해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; }
'항해 프로그래머스' 카테고리의 다른 글
항해3주차 자바스크립트 프로그래머스 - 문자 반복 출력하기 (0) 2023.01.27 항해3주차 자바스크립트 프로그래머스 - 문자 반복 출력하기 메소드 (0) 2023.01.27 항해3주차 자바스크립트 프로그래머스 - 문자열 뒤집기(split,reverse,join) (0) 2023.01.27 항해3주차 자바스크립트 프로그래머스 - 피자 나눠먹기(3) (0) 2023.01.27 항해3주차 자바스크립트 프로그래머스 - 피자 나눠먹기(2) (0) 2023.01.27