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

내향적인 개발자 IDev님의 프로필 이미지
내향적인 개발자 IDev

작성한 질문수

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

6. 격자판 최대합

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

작성

·

1K

1

        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

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

안녕하세요^^

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

내향적인 개발자 IDev님의 프로필 이미지
내향적인 개발자 IDev

작성한 질문수

질문하기