개발로그필름
[프로그래머스] 짝수 홀수 개수 javascript (반복문 for of, filter) 본문
728x90
반응형
SMALL
내가 짠 코드는,, 정말 원시적이고 어떻게든 맞추겠다, 코드 돌아가기만 하겠다! 하는 느낌으로 짠 코드다..
아직 많이 부족한 거 아니까! 나중에 이렇게 못했구나 보는 기록용..ㅎㅎ
그래서 다른 분들 풀이 보고 이렇게 짜는 거구나! 배우면서 같이 공부하는 중이다
문제 설명
정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해 보세요.
제한사항
- 1 ≤ num_list의 길이 ≤ 100
- 0 ≤ num_list의 원소 ≤ 1,000
입출력 예
입출력 예 설명
solution.js
function solution(num_list) {
var answer = [0,0]
var a = 0
var b = 0
for(i in num_list) {
if (num_list[i] % 2 == 0) {
a++
answer[0] = a
}
else {
b++
answer[1] = b
}
}
return answer
}
다른 사람 풀이 1
function solution(num_list) {
var answer = [0,0];
for(let a of num_list){
answer[a%2] += 1
}
return answer;
}
이런 방법이 있을 수도 있구나 감탄했던 풀이
answer 배열을 [0,0]으로 초기화시켜주고
for of 반복문을 사용해 num_list안에 있는 요소들을 반복하면서 2로 나눴을 때 나머지가 0 또는 1인 점을 활용해
answer [] 배열에 바로 넣어서 1을 증가시켰다
그리고 반복 끝나면 바로 answer 배열 반환
for ... of
const array = [1, 2, 3];
for (const num of array) {
console.log(num);
}
// 1
// 2
// 3
array 안에 있는 요소를 하나씩 돌아가면서 반복한다.
다른 사람 풀이 2
function solution(num_list) {
return [
num_list.filter((num) => num % 2 === 0).length,
num_list.filter((num) => num % 2 === 1).length,
];
}
arr.filter() 함수를 사용해 각 짝수, 홀수 요소 개수를 filter 해서 개수를 바로 반환해서 풀이
array.filter()
filter 해서 그대로 특정 조건을 만족하는 요소를 걸러주고 배열로 반환
const words = ['apple', 'banana', 'cup', 'dragon', 'elephant', 'fruit', 'grape'];
const result = words.filter(word => word.length > 5);
console.log(result); // ['banana', 'dragon', 'elephant']
반응형
LIST
'coding test > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 특정 문자 제거하기 javascript (split, join, replaceAll) (0) | 2023.02.22 |
---|---|
[프로그래머스] 문자 반복 출력하기 javascript (...전개연산자, map, join, reduce) (0) | 2023.02.13 |
[프로그래머스] 직각삼각형 출력하기 javascript (repeat) (0) | 2023.02.09 |
[프로그래머스] 문자열 뒤집기 javascript (split, reverse, join) (0) | 2023.02.09 |
[프로그래머스] 배열 뒤집기 js, reverse() (0) | 2023.02.08 |
Comments