저장을 습관화
프로그래머스 LV.0 짝수 홀수 개수 본문
프로그래머스 LV.0 짝수 홀수 개수
https://school.programmers.co.kr/learn/courses/30/lessons/120824
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. 문제 명
짝수 홀수 개수
2. 문제 설명
정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.
3. 제한 사항
1 ≤ num_list의 길이 ≤ 100
0 ≤ num_list의 원소 ≤ 1,000
4. 예시
num_list | result |
[1, 2, 3, 4, 5] | [2, 3] |
[1, 3, 5, 7] | [0, 4] |
5. 기본 제공 코드
function solution(num_list) {
var answer = [];
return answer;
}
6. 제출한 내 답
const solution = (num_list) => {
const arrOdd = [];
const arrEven = [];
for (i = 0; i < num_list.length; i++) {
if (num_list[i] % 2 === 0) {
arrEven.push(num_list[i]);
} else {
arrOdd.push(num_list[i]);
}
}
const answer = [];
answer.push(arrEven.length);
answer.push(arrOdd.length);
console.log(answer);
return answer;
};
6-2. VSC에 작성한 내용
const solution = (num_list) => {
const arrOdd = [];
const arrEven = [];
for (i = 0; i < num_list.length; i++) {
// console.log(num_list[i]);
if (num_list[i] % 2 === 0) {
arrEven.push(num_list[i]);
} else {
arrOdd.push(num_list[i]);
}
}
const answer = [];
answer.push(arrEven.length);
answer.push(arrOdd.length);
console.log(answer);
return answer;
};
// 어떻게 할 것인가
// 1. 배열의 모든 수를 하나씩 검사한다
// 2로 나눠 홀수인지 짝수인지 파악하고
// 홀수인 경우 arrOdd에, 짝수인 경우 arrEven에 넣는다.
// 2. 반복문이 종료되면 배열 answer에 arrEven, arrOdd의 길이를 push로 넣는다.
// 테스트
solution([1, 2, 3, 4, 5]);
// solution([1, 3, 5, 7]);
7. 특이사항
없음
8. 다른 사람이 작성한 답
8-1.
function solution(num_list) {
var answer = [0,0];
for(let a of num_list){
answer[a%2] += 1
}
return answer;
}
for of 문법...
정말 새까맣게 잊고 있었다가 이번에 검색해보고 아 이런게 있었지.. 했다.
1. 배열 answer를 준비한다.
0의 자리는 짝수, 1의 자리에는 홀수의 개수가 들어갈 예정이다.
기본값은 모두 0이다.
2. for of 문법
매개변수 배열 num_list의 각 항목을 변수 a에 할당하고 조사한다.
3. answer[a%2] += 1
a%2 해봤을때 결과가 0이면 짝수이고 1이면 홀수이다.
a가 짝수일 경우 자동적으로 answer[0] += 1
홀수일 경우 answer[1] += 1 에 의해 짝수와 홀수가 하나씩 늘어나게 된다.
4. 반복문이 종료된후 배열 answer를 리턴한다.
하 정말 기발하다
8-2.
function solution(num_list) {
return [
num_list.filter((num) => num % 2 === 0).length,
num_list.filter((num) => num % 2 === 1).length,
];
}
이것도 좋다...
배열을 선언할 것도 없이 바로 검사, 개수 확인, 리턴
'코딩 테스트 > 프로그래머스 - 자바스크립트' 카테고리의 다른 글
프로그래머스 LV.0 문자열 출력하기 (0) | 2023.09.07 |
---|---|
프로그래머스 LV.0 특수문자 출력하기 (0) | 2023.09.07 |
프로그래머스 LV.0 양꼬치 (0) | 2023.08.11 |
프로그래머스 LV.1 자연수 뒤집어 배열로 만들기 (0) | 2023.08.11 |
프로그래머스 LV.1 나머지가 1이 되는 수 찾기 (0) | 2023.08.11 |