SG의 개발 공부로그

짝수 홀수 개수 [프로그래머스 코딩테스트 자바스크립트] 본문

CodingTest

짝수 홀수 개수 [프로그래머스 코딩테스트 자바스크립트]

DebeloperSG 2023. 2. 1. 00:09
728x90

짝수 홀수 개수

 

문제 설명

정수가 담긴 리스트 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

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

 

입출력 예 #2

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

 

 

풀이

num_list의 길이만큼 반복문을 돌려서

배열을 2로 나눈 나머지값이 0 이면 짝수이기 때문에 even에 push 해주고

그 외는 홀수이니까 odd에 push 해주었다.

 

그 후 even 배열의 길이 (개수) ,  odd 배열의 길이 (개수)를 return 해주었다.

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

 

 

다른 풀이

for of 문을 돌려서 배열의 요소를 가져와서 돌려준다.

요소를 2로 나눴을 때 나머지값이 0 아니면 1이 나올 것이다.

0이나 오면 짝수로 index 0번째에 += 1 이 증가시킨다.

1이나 오면 홀수로 index 1번째에 += 1 이 증가시킨다.

배열과 인덱스를 잘 활용한 풀이인 것 같다.

function solution(num_list) {
    let answer = [0,0];

    for(let a of num_list){
        answer[a%2] += 1
    }

    return answer;
}

 

 

for of 문 참고 링크이다.

https://sg-coding.tistory.com/entry/for-in-%EA%B3%BC-for-of-%EB%B0%98%EB%B3%B5%EB%AC%B8-%EC%B0%A8%EC%9D%B4%EC%A0%90

 

for in 과 for of 반복문 차이점

일반적으로 자주 쓰는 for 반복문 for (let i = 0; i < 10; i++){ console.log(i); // 0~9까지 출력 } 하지만 이번글은 ES6 에 나온 새로운 반복문 for of 와 for in 문을 알아볼거다. 차이점 for in 과 for of는 반복이 가

sg-coding.tistory.com

728x90