Coding Test/프로그래머스 Lv.0

프로그래머스 짝수와 홀수 개수 구하기 (개념 알고있어야됨)

sangwoo_rhie 2023. 6. 2. 15:04

https://school.programmers.co.kr/learn/courses/30/lessons/120824

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

나의 처음 풀이.

 

 

합계를 구하는 함수 reduce()

 

function solution(num_list) {
    var answer = [];
    for(let i = 0; i<num_list.length; i++){
        if(i%2 === 0){
            return a;
        }else if(i%2 !==0){
            return b;
        }
    }
    answer = [reduce(a), reduce(b)]
    return answer;
}

틀림. answer에 대괄호로 answer = [reduce(a), reduce(b)] 잘못된 방식.

 

 

 

even = 짝수,  odd = 홀수

function solution(num_list) {

    const obj = { 'even': 0, 'odd': 0 }

    for (let i = 0; i < num_list.length; i++) {
        if (num_list[i] % 2 === 0) {
            obj['even'] += 1
        } else {
            obj['odd'] += 1
        }
    }

    return [obj['even'], obj['odd']]
}

 해석 : 처음 객체안에 두 key값을 even = 짝수,  odd = 홀수로 잡고, 0부터 시작하게 함.

for문을 돌려서, 2나눠서 나머지0인경우 즉 짝수인 경우 객체 even에 1추가

그렇지 않은경우 홀수이므로 객체 odd에 1 추가

 

그렇게 해서 return값을 function함수 최종값 안에서 정함. 대괄호로 묶음