강의

멘토링

커뮤니티

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

shut up and squat님의 프로필 이미지
shut up and squat

작성한 질문수

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

6. 격자판 최대합

질문드립니다.

작성

·

151

1

항상 잘보고 있습니다. 

저는 이렇게 짰는데 혹시 문제가 될만한 사항이 있을까요...?

function solution(arr) {
    let answer, rowArr = [], colArr = [], diaArr = [];
    let dia = 0, dia2 = 0;
    for (let i = 0; i < arr.length; i++) {
        let row = col = 0;
        for (j = 0; j < arr.length; j++) {
            row += arr[i][j];
            col += arr[j][i];
            if (i === j) dia += arr[i][j];
            else if (i + j === 4) {
                dia2 += arr[i][j];
            }
        }
        rowArr.push(row);
        colArr.push(col);
    }
    diaArr.push(dia);
    diaArr.push(dia2);

    answer = Math.max.apply(null, [...rowArr, ...colArr, ...diaArr]);

    return answer;
}

const arr = [
    [10, 13, 10, 12, 15],
    [12, 39, 30, 23, 11],
    [11, 25, 50, 53, 15],
    [19, 27, 29, 37, 27],
    [19, 13, 30, 13, 19]
];

console.log(solution(arr));

답변 1

0

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

안녕하세요^^

잘 하신 코드입니다.

5행 5열만 입력되는 것은 아니니

else if (i + j === 4) {

부분을 i+j===n-1 로 하면 좋을 것 같습니다.

감사합니다! 

shut up and squat님의 프로필 이미지
shut up and squat

작성한 질문수

질문하기