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
'Coding Test > Programmers' 카테고리의 다른 글
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 24 - 중복된 숫자 개수) (0) | 2024.02.01 |
---|---|
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 23 - 특정 문자 제거하기) (0) | 2024.01.31 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 21 - 양꼬치) (0) | 2024.01.31 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 20 - 최댓값 만들기 (1)) (0) | 2024.01.31 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 19 - 배열 자르기) (0) | 2024.01.31 |