• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

for문을 한번더 도는것보다 변수를 2개 더 추가해서 하는게 메모리적으로 더 안좋을까요?

23.02.11 22:30 작성 조회수 813

0

        function solution2(arr) {
            let answer = Number.MIN_SAFE_INTEGER;
            let n = arr.length;
            let sum1=sum2=0;
            let sum3=sum4=0;

            for(let i = 0; i < n; i++) {
                sum1=sum2=0;
                for(let j = 0; j < n; j++) {
                    sum1+=arr[i][j];
                    sum2+=arr[j][i];

                    // 대각선 줄
                    if (i === j) {
                        sum3 += arr[i][j]
                    }

                    // 역 대각선 줄
                    if (j === (arr[i].length - i) - 1) {
                        sum4 += arr[i][j]
                    }
                }

                answer = Math.max(answer, sum1, sum2, sum3, sum4);
            }

            return answer;
        }

위 방식으로하면 변수는 더 추가되서 메모리적으로 낭비이지만 만약 배열 데이터가 많다면 시간 복잡도상 2중 for문을 한번밖에 안쓴 위 코드가 유리한거같은데 평가 부탁드립니다.

답변 1

답변을 작성해보세요.

0

안녕하세요^^

네. 잘 하신 코드입니다. 더 좋아 보입니다.