Python9 [프로그래머스] 섬 연결하기 (Python) - 유니온 파인드 알고리즘 문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/42861 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드 구현# 실패 - 사이클을 감지하지 못함대표 예시는 통과했지만, 막상 제출하고 보니 대부분의 테스트 케이스를 통과하지 못한 저의 첫 번째 풀이입니다. 어디서부터 잘못됐는지 확인하기 위해 문제를 다시 읽어보니, 이 코드로는 사이클을 감지하지 못한다는 점을 깨달았습니다. 처음에는 최소 비용만을 고려한 단순한 트리 문제라고 생각했지만, 본질은 최소 신장 트리(MST)였던 것이죠. def solution(n, costs): ans.. 2025. 4. 10. [프로그래머스] 게임 맵 최단거리 (Python) - BFS 문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드 구현# 거리의 최적값 = 너비 우선 탐색 (BFS)from collections import dequedef solution(maps): # 상하좌우 이동 방향 moves = [[-1,0],[1,0],[0,-1],[0,1]] # 게임 맵의 행/열 n = len(maps) m = len(maps[0]) # 거리를 저장하는 배열 dist를 -1로 초기화 dist = [[-1]*m for.. 2025. 4. 7. [프로그래머스 Lv.3] 네트워크 (Python) - DFS 문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 위 문제의 경우, 모든 경우의 수를 탐색하기 때문에, DFS 알고리즘을 선택했습니다. 코드 구현from collections import defaultdictdef dfs(computers, visited, node): visited[node] = True for idx, connected in enumerate(computers[node]): # 연결되어있는데 방문하지 않은 노드일 경우 if co.. 2025. 4. 7. 이전 1 2 다음