Coding Test/Programmers
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 22 - 짝수 홀수 개수)
dev-ini
2024. 1. 31. 19:37
728x90
# 문제
정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.
# 답안
// 1. 입력: num_list -> 정수 배열 [1,2,3] 같은거
// 2. 출력: num_list의 원소 중 짝수, 홀수의 개수를 담은 배열
// 방법1) 짝수와 홀수를 각각 필터링하여 새로운 배열을 생성한 후, 각 배열의 길이를 구하여 결과를 반환
function solution(num_list) {
const even = num_list.filter(item=> item % 2 == 0);
const odd = num_list.filter(item=> item % 2 == 1);
const answer = [even.length, odd.length];
return answer;
}
// 방법2) 먼저 주어진 배열에서 짝수만 필터링하여 새로운 배열을 생성한 후, 이 배열의 길이를 통해 짝수의 개수를 구하고, 전체 길이에서 짝수의 개수를 빼서 홀수의 개수를 구하기
unction solution(num_list) {
const evenCount = num_list.filter(num => num % 2 === 0).length;
const oddCount = num_list.length - evenCount;
return [evenCount, oddCount];
}
# 인사이트
// 1번 방법은 주어진 리스트를 두 번 순회하기 때문에 두 번의 연산이 필요하다.
// 반면, 2번 방법은 주어진 리스트를 한 번만 순회하므로 더 효율적이다.
// 따라서 2번 방법이 더 효율적인 코드이다.
728x90