본문 바로가기
Coding Test/프로그래머스

[JavaScript] 짝수 홀수 개수

by 노 코딩 노 라이프 2023. 4. 5.

문제설명

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


제한사항

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

입출력 예 & 설명

입출력 예 #1

  • [1, 2, 3, 4, 5]에는 짝수가 2, 4로 두 개, 홀수가 1, 3, 5로 세 개 있습니다.

입출력 예 #2

  • [1, 3, 5, 7]에는 짝수가 없고 홀수가 네 개 있습니다.

소스코드&결과

function solution(num_list) {
    var answer = [];
    var odd = 0, even = 0; //홀수 , 짝수
    for(var i = 0; i < num_list.length; i++){
        var answer = (num_list[i] % 2 == 0) ? even++ : odd++;
    }
    return [even,odd];
}


코드 설명

  • 홀수의 개수를 구할 변수를 odd로 선언하고, 짝수의 개수를 구할 변수를 even로 선언해주었다.
  • for문안에 i를 0으로 선언하고, num_list의 길이까지 반복되도록 만들어주었다.
  • %연산자를 이용하여 num_list[i]의 값이 짝수인지 아닌지 구하였고,
  • 삼항연산자를 이용하여 짝수이면 even = even + 1을 해주었고, 홀수이면 odd = odd + 1을 해주었다.

다른 사람이 짠 코드

function solution(num_list) {
    var answer = [0,0];
    for(let a of num_list){
        answer[a%2] += 1
    }
    return answer;
}
  • 위의 코드는 for of를 통해 배열요소를 꺼내주었고, 짝수홀수를 나머지 연산자를 이용해 풀어주었다.
  • 0이 나오면 짝수로 answer[0]에 1씩 추가되고, 1이 나오면 홀수로 answer[1]이 1씩 더해지는 것을 볼 수 있었다.
  • 정말 상상도 못한 코드였다.ㄴ0ㄱ

for of의 개념 정리

https://rei050r.tistory.com/90

 

for in 과 for of 반복문의 차이점

for in 반복문 for in 반복문은 배열 요소를 하나하나 꺼내서 특정 문장을 실행 할 때 사용합니다. for in 반복문의 기본형태는 다음과 같습니다. for ( const 반복 변수 in 배열 또는 객체){ 문장 } 예시

rei050r.tistory.com