말랑한 하루

[Programmers] 여행경로 (Lv 3, JavaScript) 본문

문제풀이/Programmers

[Programmers] 여행경로 (Lv 3, JavaScript)

지수는말랑이 2022. 12. 16. 17:10
반응형

[ 학습 내용 ]
Javascript에서 재귀함수의 매개변수에 array를 사용할 수 없었다.

(해당 매개변수에 사용하는 Arrays.properties.push method가 존재하지 않음으로 에러표출)


[ 소스 코드 ]

function solution(tickets) {
    tickets.sort();
    
    let answer = [];
    let path = ["ICN"];
    let airport = new Array(tickets.length).fill(false);
    
    const travel = (start, cnt) => {
        if (answer.length) return;
        if (cnt === tickets.length) {
            answer = [...path];
            return;
        }
        for(let i=0; i<tickets.length; i++) {
            if (!airport[i] && tickets[i][0] === start) {
                path.push(tickets[i][1]);
                airport[i] = true;
                travel(tickets[i][1], cnt + 1);
                airport[i] = false;
                path.pop();
            }   
        }
    }
    travel("ICN", 0);
    
    return answer;
}
반응형
Comments