
- Map 자료정의
piece
순회
2-1. 첫 요소를 key로 갖으며, 남은 요소를 value로 선언
arr
순회
3-1. 현재 요소가 key로 존재하는지 확인
3-2. 현재 요소의 value와 실제 arr
요소가 모두 일치하는지 확인
3-3. 현재 검증 길이만큼 생략
- 모든 조건을 만족한다면
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
};