코딩테스트/Programmers

[프로그래머스] 짝수 홀수 개수

무지짱 2023. 1. 31. 13:08
반응형

출처

https://school.programmers.co.kr/learn/courses/30/lessons/120824?language=javascript

 

문제

정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.

 

 

제한사항

  • 1 ≤ num_list의 길이 ≤ 100
  • 0 ≤ num_list의 원소 ≤ 1,000

 

입출력 예

num_list result
[1, 2, 3, 4, 5] [2, 3]
[1, 3, 5, 7] [0, 4]

 

 

풀이

 

1) 짝수, 홀수 카운트 해줄 변수 생성

2) 짝주일때, 홀수일때 카운트 +

3) answer 배열에 담아주기

 

 

코드

function solution(num_list) {
    var answer = [];
    let even = 0;
    let odd = 0;
    for(i of num_list){
        if(i % 2 == 0){
            even++
        }else{
            odd++
        }
    }
    answer.push(even, odd)
    return answer;
}

 

 

 

다른 사람의 풀이

 

(영.. 이해가 애매하게 되는데.. 아래 해설 해주실수있는 똑똑이 구합니다.)

🎉 나눠지며 +1 이되는건 알았지만 짝, 홀 순서로 배열에 들어가는 이유가 너~~무 궁금했는데,

     나머지가 0이 되었을때 0번째 인덱스, 1이 되었을때 1번째 인덱스로 들어가는것!

function solution(num_list) {
    var answer = [0,0];
    // 짝수, 홀수 배열 저장소

    for(let a of num_list){
        // num_list에 있는 배열을 전부 a로 나타내기
        answer[a % 2] += 1
        // answer[a % 2] = answer[a % 2] + 1
    }

    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;
}
반응형