[LeetCode] 74. Search a 2D Matrix

Chobby·2024년 9월 11일
1

LeetCode

목록 보기
110/194

target요소가 2차원 행렬 내에 존재하는지를 확인하는 문제이다.

다만 배열의 모든 요소를 순회하며 검사한다면 문제 풀이 조건에 어긋난다.

따라서 이미 오름차 순으로 정렬되어있는 배열의 마지막 요소를 저장하여 target요소가 포함될 행을 파악하고

해당 행 내에서 target이 존재하는지 판별하였음

😎풀이

function searchMatrix(matrix: number[][], target: number): boolean {
    const m = matrix.length
    const n = matrix[0].length
    const rowLast = []
    let targetRow = 0

    // 각 행의 마지막 요소들을 입력
    for(let i = 0; i < m; i++) {
        rowLast.push(matrix[i][n - 1])
    }

    // 어느 행에 포함될지 판단
    for(let i = 0; i < rowLast.length; i++) {
        const curRowLast = rowLast[i]
        if(target <= curRowLast) {
            targetRow = i
            break
        }
    }

    // 해당 행에 타깃이 있는지 확인
    return matrix[targetRow].includes(target)
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글