인프런 커뮤니티 질문&답변

김보경님의 프로필 이미지
김보경

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

6. 홀수

두 코드의 차이

작성

·

426

·

수정됨

0

강사님 안녕하세요!

코드를 보다가 궁금한 점이 있어 질문드립니다.

저는 아래와 같이 최소 값을 따로 배열로 걸러내서 Math.min을 사용해서 구했습니다.

강사님 방식과 비교해보니 저는 배열을 하나 더 썼고 Math.min을 사용했기 때문에 제 코드가 조금 더 비효율적으로 보이는데, 저와 비슷하게 코드를 짠 분의 답글에 괜찮은 코드라고 하시더라구요!

두 코드 사이의 속도나 효율성면에서는 큰 차이가 없는 것인가요?

            function solution(arr){
                let answer = [];
                let sum = 0, min = 0;

                arr.forEach((num) => {
                    if (num % 2 !== 0) {
                        sum += num; // 합산하기
                        answer.push(num); // 홀수 걸러내기
                    }
                })
                
                min = Math.min(...answer);
                answer = [sum, min];

                return answer;
            }

 

답변 1

1

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

입력의 크기가 7개로 고정되어 있는 문제라 효율성에 큰 차이가 없어서 그렇게 얘기한 것 같습니다. 님의 코드도 자바스크립트스럽게 잘 하셨습니다. 이런 사소한 차이는 괜찮습니다. 효율성을 따지는 경우는 단일 for문을 돌려야 할 문제를 2중 for문을 돌려 해결하거나 하는 경우입니다. 그래도 영상의 방법이 더 좋다고 판단되시면 그 방법을 배울려고는 해야 합니다.

김보경님의 프로필 이미지
김보경
질문자

답변 감사합니다!

김보경님의 프로필 이미지
김보경

작성한 질문수

질문하기