반응형
이제 슬슬 레벨3를 도전해보려 한다
진짜 가장 기초적인 dfs/bfs 문제이지만 거의 한시간이 넘게 걸렸다
가히 인간승리라고 할 수 있겠다
정확하진 않지만 아마 나는 dfs로 푼것같다
연결된 것들을 가장 깊숙한 곳까지 찾아 들어가는 로직을 작성했다
한 점에서 연결되어 있는 번호를 arr에 저장하고 방문한 점은 visited에 저장했다
def solution(n, computers):
answer = 0
arr = [[] for i in range(n)]
visited = []
def dfs(root, x):
for j in range(n):
if computers[x][j] == 1 and j not in visited:
arr[root].append(j)
visited.append(j)
dfs(root, j)
for i in range(n):
if i in visited:
pass
else:
dfs(i, i)
for thing in arr:
if len(thing) > 0:
answer+=1
return answer
중간에 힌트나 답을 보고싶은 마음이 간절했지만
진짜 꾹 참고 스스로 풀었다
계속 화이팅!!
반응형
'개발💻 > 알고리즘' 카테고리의 다른 글
[프로그래머스] 단어변환 Python (20) | 2024.03.22 |
---|---|
[프로그래머스] 베스트앨범 Python (21) | 2024.03.21 |
[프로그래머스] 카펫 Python (22) | 2024.03.18 |
[프로그래머스] 기능개발 Python (21) | 2024.03.14 |
[프로그래머스] 피보나치 수 Python (2) | 2024.03.11 |