소프트웨어에 대한 모든 것

LeetCode 풀기 - 1436. Destination City 본문

알고리즘/LeetCode

LeetCode 풀기 - 1436. Destination City

앤테바 2021. 11. 21. 13:07
반응형

1436. Destination City

제목

문제)

솔루션1) - hash 자료구조 

direct path 두 도시를 key, value 형태의 hash로 저장합니다.

destination 중 hash의 key에 없다는 의미는 출발해서 도착하는 도시가 없다는 것이므로 그것이 해에 해당합니다.

class Solution:
    def destCity(self, paths: List[List[str]]) -> str:
        d = {}
        for path in paths:
            d[path[0]] = path[1]
            
        for dest in d.values():
            if dest not in d:
                return dest
        return None

솔루션2) - set 사용

출발하는 도시와 도착하는 도시를 set 자료구조로 데이터를 유지합니다.

도착하는 도시에서 출발하는 도시를 빼서 남는 도시가 정답입니다.

class Solution:
    def destCity(self, paths: List[List[str]]) -> str:
        start_cities, dest_cities = map(set, zip(*paths))
        return (dest_cities - start_cities).pop()

 

반응형
Comments