| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 프로그래머스
- 리액트
- Github
- CSS
- TypeScript
- 공식문서
- 알고리즘
- 국비지원교육
- 내일배움카드
- JavaScript
- 이벤트
- 개발자취업부트캠프
- 자바스크립트
- 입문
- react
- 모던 딥 다이브 자바스크립트
- 메가바이트스쿨
- 패스트캠퍼스
- 모던 자바스크립트 딥 다이브
- GIT
- 프론트엔드
- useRef
- 자료구조
- 개발 공부
- useMemo
- 코딩테스트
- styled-components
- MegabyteSchool
- next.js
- 비전공자
Archives
- Today
- Total
개발 기록 남기기✍️
[프로그래머스] 짝수 홀수 개수 본문
🗒️ 문제 설명
정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.
⚠️ 제한 사항
- 1 ≤ num_list의 길이 ≤ 100
- 0 ≤ num_list의 원소 ≤ 1,000
👀 입출력 예
| num_list | result |
| [1, 2, 3, 4, 5] | [2, 3] |
| [1, 3, 5, 7] | [0, 4] |
❇️ 나의 풀이
- even, odd라는 변수를 선언하고 초기값으로 0을 할당한다.
- for문으로 배열 처음부터 끝까지 돌면서 삼항 연산자를 통해 해당 값이 짝수이면 even += 1, 홀수이면 odd += 1을 할당한다.
- for문이 끝난 후에 [even, odd]를 반환한다.
function solution(num_list) {
var even = 0;
var odd = 0;
for(i=0;i < num_list.length; i++){
num_list[i] % 2 === 0 ? even += 1 : odd += 1;
}
return [even, odd];
}
✍️ 리뷰
✔️ 더 간결한 코드는 없을까? even, odd 라는 변수를 따로 선언하기 보다 var answer = [0,0] 을 선언하고 값에 따라 해당 위치에 +=1 되도록 해도 되었을 듯 하다.
✔️ 배열 전체를 도는 것이라면, for문에 범위를 저렇게 지정할 필요가 없고 for(let a of num_list){ } 형식을 쓰면 순서대로 배열값을 하나씩 a에 할당한다!
💟 본받고 싶은 코드
function solution(num_list) {
var answer = [0,0];
for(let a of num_list){
answer[a%2] += 1
}
return answer;
}'코딩 테스트 연습' 카테고리의 다른 글
| [프로그래머스] 편지 (0) | 2022.12.22 |
|---|---|
| [프로그래머스] 피자 나눠 먹기 (1) (0) | 2022.12.22 |
| [프로그래머스] 배열 자르기 (0) | 2022.12.21 |
| [프로그래머스] 짝수는 싫어요 (0) | 2022.12.21 |
| [프로그래머스] 아이스 아메리카노 (0) | 2022.12.21 |