• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

두 코드의 차이

23.03.15 21:50 작성 23.03.15 23:11 수정 조회수 345

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문을 돌려 해결하거나 하는 경우입니다. 그래도 영상의 방법이 더 좋다고 판단되시면 그 방법을 배울려고는 해야 합니다.

김보경님의 프로필

김보경

질문자

2023.03.21

답변 감사합니다!