[프로그래머스] 짝수 홀수 개수

J.A.Y·2023년 8월 24일
0

자료구조/알고리즘

목록 보기
1/17
post-thumbnail

프로그래머스 코딩테스트 입문을 시작한지 이제 2주 정도가 지났다.

주어진 배열의 짝수, 홀수 개수를 각각 구해 배열로 나타내는 문제를 풀고 전보다 빨라진 속도에 뿌듯해하고 있었는데, 다른 사람의 풀이를 보고 바로 정신차렸다.

우선 나의 풀이는.. 효율이라고는 찾아볼 수 없는 step by step이다.

const solution = (num_list) => {
let evenCount = 0;
let oddCount = 0;
let countArr = [];
    for (let i = 0; i < num_list.length; i++) {
       if (num_list[i]%2 === 0) {
          evenCount +=1
       } else {
         oddCount +=1         
       }
    }
    countArr.push(evenCount, oddCount)
    return countArr;
}

그리고 내가 충격먹은 코드...

function solution(num_list) {
    var answer = [0,0];

    for(let a of num_list){
        answer[a%2] += 1
    }

    return answer;
}

배열의 index[0], index[1]과 짝수의 나머지 0, 홀수의 나머지 1의 공통점을 이용한 코드다.

이런 기발한 생각은 커녕, 처음엔 코드를 해석하는데도 어려움이 있었다. 그러다 이해했을 때의 충격이란.... ㅎㅎ 이런 좋은 코드를 모두와 공유하는 개발문화에 감사함을 느낀다.

아직 입문자로서 코드의 정확도를 높이는 것이 가장 큰 목표가 되어야겠지만, 조금씩 간소화시키는 습관도 길들여봐야겠다.

profile
Done is better than perfect🏃‍♀️

0개의 댓글