1이 제일 많은 행과 1의 개수를 배열로 리턴하는 문제.
1의 개수가 같은 행이 여러 개라면, 행 번호가 가장 작은 행을 선택해야 합니다.
문제 접근
행과 개수를 구하는 것이 목적이므로 해당 변수들에 값을 할당해 주면 됐습니다.
1이 포함된 행을 찾기 위해 filter 메서드를 사용했고
이전 배열의 1의 개수와 현재 배열의 1의 개수를 비교해
개수가 동일하거나, 아니면 1을 더 많이 가지고 있는 배열을
매번 비교를 통해 설정해 줄 필요가 있어 반복문을 사용했습니다.
문제 해결
/**
* @param {number[][]} mat
* @return {number[]}
*/
var rowAndMaximumOnes = function(mat) {
let count=0, row=0;
for(let i=0; i<mat.length;i++) {
const hasNumberLength = mat[i].filter((num)=> num !== 0).length;
if(count < hasNumberLength) {
count = hasNumberLength;
row = i;
}
}
return [row, count];
};
'Algorithm' 카테고리의 다른 글
LEETCODE 872. Leaf-Similar Trees (0) | 2024.08.08 |
---|---|
Leetcode 2570. Merge Two 2D Arrays by Summing Values (0) | 2024.06.16 |
Leetcode 2843. Count Symmetric Integers (0) | 2024.06.04 |
LEETCODE 1002. find-common-characters (0) | 2024.06.01 |
LEETCODE 2331. Evaluate Boolean Binary Tree (0) | 2024.05.20 |