나의 풀이
function solution(num_list) {
let a = [];
let b = [];
num_list.forEach((x) => x % 2 == 0 ? a.push(x) : b.push(x))
return [a.length, b.length]
}
다른 사람의 풀이
for ... of 반복문
for( a of b) 반복문은 b 배열의 각 요소를 a에 할당하며 순회한다.
function solution(num_list) { var answer = [0,0]; for(let a of num_list){ answer[a%2] += 1 } return answer; }
위와 같이 작성할 경우 배열을 한번 순회하며 짝수와 홀수를 동시에 카운트 하므로 시간이 단축되고 로직이 간단하고 명확하다.
위의 예시에선 num_list 배열의 각 요소를 a에 할당하며 순회했다.
answer = [ 0, 0 ]이라는 배열을 만들었는데,
for 반복문에서 a % 2를 하여 값이 홀수일 경우 answer[1]에 짝수일 경우 answer[0]에 값을 더하도록 풀이한 것이 대단한 것같다.
바로 배열에 입력
function solution(num_list) {
return [
num_list.filter((num) => num % 2 === 0).length,
num_list.filter((num) => num % 2 === 1).length,
];
}
'자바스크립트(JavaScript) > 프로그래머스 문제풀기' 카테고리의 다른 글
[JavaScript] Number.isInterger() 정수인지 확인하기 (0) | 2024.12.19 |
---|---|
[programmers - js] 모음 제거 / 정규표현식 캡처링, includes, replaceAll (0) | 2024.12.16 |
[programmers - js] 중앙값 구하기 / sort((a,b) => a - b) (0) | 2024.12.16 |
[programmers - js] 배열의 유사도 (0) | 2024.12.16 |
[programmers - js] 문자열 뒤집기 (0) | 2024.12.16 |