티스토리 뷰
반응형
문제
N*N의 격자판이 주어지면 각 행의 합, 각 열의 합, 대각선의 합 중 가장 큰 합을 출력하시오.
입력 예제
[[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]]
출력 예제
155
풀이
function solution(arr) {
let answer = Number.MIN_SAFE_INTEGER;
let n = arr.length;
let sum1 = sum2 = 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];
}
answer = Math.max(answer, sum1, sum2);
}
sum1 = sum2 = 0; // 초기화
// 두 대각선
for (let i = 0; i < n; i++) {
sum1 += arr[i][i];
sum2 += arr[i][n-i-1];
}
answer = Math.max(answer, sum1, sum2);
return answer;
}
반응형
'Data Structure & Algorithm' 카테고리의 다른 글
[알고리즘-JS] 회문 문자열/팰린드롬 판별 + 정규식 (0) | 2022.05.03 |
---|---|
[알고리즘-JS] 회문 문자열/팰린드롬 (0) | 2022.05.03 |
[알고리즘-JS] 등수 구하기 (0) | 2022.05.02 |
[알고리즘-JS] 연속 가산 점수 계산하기 (0) | 2022.05.02 |
[알고리즘-JS] 가위 바위 보 (0) | 2022.05.02 |