[LeetCode] 1640. Check Array Formation Through Concatenation

Chobby·2025년 9월 29일
1

LeetCode

목록 보기
567/582

  1. Map 자료정의
  2. piece 순회
    2-1. 첫 요소를 key로 갖으며, 남은 요소를 value로 선언
  3. arr 순회
    3-1. 현재 요소가 key로 존재하는지 확인
    3-2. 현재 요소의 value와 실제 arr 요소가 모두 일치하는지 확인
    3-3. 현재 검증 길이만큼 생략
  4. 모든 조건을 만족한다면 true 반환환
function canFormArray(arr: number[], pieces: number[][]): boolean {
    const map = new Map()
    for(const piece of pieces) map.set(piece[0], piece)
    for(let i = 0; i < arr.length; i++) {
        const curPiece = map.get(arr[i])
        if(!curPiece) return false
        for(let j = 0; j < curPiece.length; j++) if(arr[i + j] !== curPiece[j]) return false
        i += curPiece.length - 1
    }
    return true
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글