문제 설명
function solution(target, patch)를 작성하세요. 입력과 출력은 모두 JSON으로 표현 가능한 값입니다. 입력 배열과 객체를 직접 변경하면 안 돼요. 외부 라이브러리, 네트워크 요청, 비동기 함수는 사용할 수 없어요. target와 patch는 JSON 값입니다. patch가 객체(null·배열 제외)가 아니면 target을 patch 전체로 교체합니다. 객체면 target이 객체가 아닐 때 {}에서 시작합니다. patch 키의 값 null은 키 삭제, 나머지는 재귀적 규칙 적용입니다. 배열은 통째로 교체합니다. 입력을 변경하지 않습니다. '__proto__', 'constructor'를 일반 데이터 키로 취급합니다. 최대 중첩 깊이 20. 입력 범위: 각 입력 배열은 최대 50,000개 항목, 문자열은 최대 1,000자입니다. 숫자는 유한한 값이며, 정수와 합산 결과는 JavaScript의 안전한 정수 범위 안에 있습니다. 그 외 자료형과 유효성 조건은 위 규칙을 따릅니다.
입출력 예시
예시 1
함수 인자
[
{
"a": 1,
"b": 2
},
{
"a": null,
"c": 3
}
]반환값
{
"b": 2,
"c": 3
}예시 2
함수 인자
[
{
"nested": {
"a": 1,
"b": 2
}
},
{
"nested": {
"a": 3
}
}
]반환값
{
"nested": {
"a": 3,
"b": 2
}
}예시 3
함수 인자
[
{
"a": true
},
{
"a": false
}
]반환값
{
"a": false
}