파비의 매일매일 공부기록

Today's Challenge 본문

Problem Solving/LeetCode

Today's Challenge

fabichoi 2022. 12. 20. 23:45

https://leetcode.com/problems/keys-and-rooms/

 

Keys and Rooms - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

오랫만에 내가 풀어봄 ㅋㅋ
bfs는 dfs에 비해 쉬운듯.. 아니면 내 실력이 늘었거나? (아니겠지만 =_=)
사실 어제 풀었던 문제와 꽤 유사해서 특별히 아이디어를 더할 건 없었음. (visited를 사용하는 부분)

class Solution:
    def canVisitAllRooms(self, rooms: List[List[int]]) -> bool:
        l = len(rooms)
        visited = [True] + [False] * (l-1)
        qu = deque()
        for r in rooms[0]:
            qu.append(r)
        
        while qu:
            room = qu.popleft()
            if visited[room]:
                continue
            visited[room] = True
            
            for r in rooms[room]:
                qu.append(r)
            
        for v in visited:
            if not v:
                return False
        
        return True
반응형

'Problem Solving > LeetCode' 카테고리의 다른 글

Today's Challenge  (0) 2022.12.22
Today's Challenge  (0) 2022.12.21
Today's Challenge  (0) 2022.12.19
Today's Challenge  (0) 2022.12.18
Today's Challenge  (0) 2022.12.17
Comments