
path[i] = [cityAi , cityBi] 인 2차원 배열이 주어진다고 한다.
path[i] = [cityAi , cityBi] 는 A도시에서 B도시로 가는 루트를 나타낸다.
이런 상황에서 graph가 loop를 생성하지 않을때 도착지를 리턴하는 문제이다.
Example을 보자

path가 loop를 형성하지 않으므로 도착지인 도시는 다른 도시로 가는 path가 존재하지 않는다.
즉 각 path중 도착지인 도시중 출발지가 아닌 도시가 최종 도착지가 된다.
const destCity = function (paths) {
let map = {};
let result = "";
paths.forEach((city) => {
map[city[0]] ? (map[city[0]] = map[city[0]] + 1) : (map[city[0]] = 1);
});
paths.forEach((city) => {
if (!map[city[1]]) {
result = city[1];
}
});
return result;
};
먼저 path 배열을 순회하면서 각 출발지의 갯수를 map 객체에 저장을 해주었다.
이 상태에서 각 path의 도착지들을 순회하면서 map 객체에 key 값으로 존재하지 않는 도시가 최종 도착 도시가 된다.
submit을 해보니

정답이었다!