[프로그래머스]여행경로 - javascript
구글링 검색 검색 후 해석. 알고나면 참 아무것도 아닌데 아직은 어렵네요. function solution(tickets) { let routes = []; function DFS(extra, current, route){ // extra(잔여티켓): [["ICN", "JFK"], ["HND", "IAD"], ["JFK", "HND"]] // current(현재위치): "ICN" // route(여행경로): ["ICN"] if (extra.length === 0) { routes.push(route); //잔여티켓 연산이 끝나면 routes로 정보전송 } //티켓 모두 사용 else { extra.forEach(([s, e], index) => { //s: 출발, e: 목적지 //index: 인덱스번호 ..
더보기
[javascript]배열 복사 영향 안받게하려면? array.slice();
배열을 선언하고 복사를 하고 나면 우리가 생각하는대로 원본은 그대로 있어야 하는데 원본도 같이 바뀝니다. 예제를 보시면 이해가 빠를거예요. let a = [2,3,1]; let a1 = a.sort((a,b)=>a-b) console.log(a1); console.log(a); //문제 a를 출력해보면 우리가 처음 봤던 a와는 다르게 a1이랑 같은 결과가 나옵니다. 기본적으로 배열은 원본을 참조하도록 설정 되어 있습니다. 이 연결을 끊어주려면 이렇게 해주면 됩니다. let a = [2,3,1]; let a1 = a.slice(); a1 = a1.sort((a,b)=>a-b) console.log(a1); //[1,2,3] console.log(a); // [2,3,1] 이제 서로 영향을 받지 않습니다.
더보기