코드 리뷰 부탁드립니다!
232
작성한 질문수 2
// 각 행의 합,
// 각 열의 합,
// 두 대각선의 합
function solution(arr) {
let row = [];
let col = [];
let cross = [];
let colSum = 0;
let crossLeft = 0;
let crossRight = 0;
// 각 행의 합
for (let i = 0; i < arr.length; i++) {
let sum = arr[i].reduce((acc, cur) => acc + cur);
row.push(sum);
}
// 각 열의 합
for (let i = 0; i < arr.length; i++) {
colSum = 0;
for (let j = 0; j < arr.length; j++) {
colSum += arr[j][i];
}
col.push(colSum);
}
// 두 대각선의 합
for (let i = 0; i < arr.length; i++) {
crossLeft += arr[i][i];
}
cross.push(crossLeft);
for (let j = arr.length - 1; j !== 0; j--) {
crossRight += arr[j][j];
}
cross.push(crossRight);
console.log(row);
console.log(col);
console.log(cross);
return Math.max(...row, ...col, ...cross);
}
답변 1
0
안녕하세요^^
reduce 메서드의 시간복잡도가 O(n)입니다.
뭐 시간복잡도를 따질 문제는 아니지만 이중for문을 한 번만 돌리면서 행, 열, 대각선의 합을 한꺼번에 구해버리는 방법을 생각해 보는 것도 좋을 것 같습니다.
위에 코드도 잘하신 코드입니다
continue를 사용하는 이유
0
100
2
정렬 가능 여부 판단하기
0
80
2
알고리즘 학습법 관련해서 질문드립니다.
0
95
1
코드 리뷰 부탁드립니다!
0
107
1
indexOf를 사용해서 풀어보았습니다 !!
0
75
1
저는 이런식으로 구현 해보았습니다 !!
0
69
1
12,13,14 강의 소리만 나오고 검은 화면입니다
0
110
3
반복문 최소화하고 indexOf 사용해서 풀어봤습니다
0
74
1
영상 보기 전에 직접 풀어봤습니다.
0
79
1
섹션1의 17번문제 이 풀이로 풀어도 될까요?
0
141
2
정규표현식으로 처리해도 상관없나요 ?
0
127
2
3칸씩 건너뛸 수 있을 경우
0
132
2
강의에 대해 질문있습니다.
0
144
2
Object와 Set을 이용해 풀어봤습니다.
0
128
2
이렇게 해도 되나요?
0
107
2
선생님 중복 단어나 중복관련 문제들은 set을 이용하면 좋을것 같습니다.
0
149
2
이렇게 풀어도 괜찮을까요?
0
145
1
이렇게 풀어도 괜찮을까요?
0
123
1
모든 아나그램 찾기에서 시간복잡도
0
106
1
코드리뷰 부탁드립니다.
0
138
1
for loop 탈출은 return 문으로 해도 되지 않나요?
0
133
1
투포인트알고리즘으로 풀어봤습니다.
0
147
0
코드 리뷰 부탁드립니다.
0
121
1
코드 맞게 작성한 거 아닌가여??
0
149
1





