인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

Ash님의 프로필 이미지
Ash

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

8. 중복순열(다중 for문과 재귀의 차이점)

질문) tmp 대신에 tmp.slice()를 사용하는 이유

작성

·

341

0

안녕하세요 선생님!

 

강의를 여러번 들어도 L===m이라는 조건이 완성될 때 tmp대신 tmp.slice()를 사용하는 이유에 대해서 정확하게 이해하지 못했습니다 ㅜㅜ

 

제가 이해한 바로는 tmp만 작성할 경우 최종 tmp에 작성 된 값이 앞에 answer에 할당되었던 tmp 배열들의 값을 덮어쓰기 때문에 모든 배열이 [3,3]이 나오는 것이라고 이해했는데, 이게 맞나요..?

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

tmp.slice()로 깊은 복사를 해야합니다.

그냥 tmp로만 하면 얕은 복사가 되어 마지막 tmp값으로 기존에 answer에 넣어던 값들이 다 변하게 됩니다.

 

Ash님의 프로필 이미지
Ash

작성한 질문수

질문하기