그래프 | BFS 🌏 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👽 풀이 ➡️ BFS 이용 자신이 이긴 선수 + 진 선수의 합이 n-1이 되는 경우 순위를 알 수 있다고 할 수 있다. from collections import deque def solution(n, results): answer = 0 graph = [[] for _ in range(n+1)] graph1 = [[] for _ in range(n+1)] for result in results: a,b = result graph[a].append(b) graph1[b].append..
그래프 | BFS 🌏 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👽 풀이 ➡️ BFS 이용 from collections import deque def solution(n, edge): edges = [[] for _ in range(n + 1)] graph = [0 for _ in range(n+1)] visited= [0 for _ in range(n+1)] def bfs(n): queue = deque() queue.append(n) visited[n] = 1 while queue: n = queue.popleft() for i in edg..
깊이/너비 우선 탐색(DFS/BFS) 🌏 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👽 풀이 ➡️ DFS 이용 from collections import defaultdict def solution(tickets): answer = [] dic = defaultdict(list) for src, dst in tickets: dic[src] += [dst] for src in dic.keys(): dic[src].sort(reverse=True) def dfs(cur): while dic[cur]: dfs(dic[cur].pop()) else: a..
깊이/너비 우선 탐색 (DFS/BFS) 🌏 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👽 풀이 ➡️ DFS 이용 💫 문제 분석 문제에서 한 번에 한 개의 알파벳만 바꿀 수 있다고 주어져서 처음에 len(set(w1) - set(w2)) == 1 이렇게 접근했는데 이 경우에 'aaa'와 'aab'를 비교하게 되면 0이 나오기 때문에 테스트케이스 3번에서 실패가 뜬다😢 그래서 두 문자를 비교하는 함수를 따로 만들어줬다. def compare(w1, w2): diff = 0 for i in range(len(w1)): if w1[i] == w2[i]:..
깊이/너비 우선 탐색(DFS/BFS) 🌏 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👽 풀이 ➡️ BFS 이용 from collections import deque def solution(maps): answer = 0 visited = [[0 for _ in range(len(maps[0]))] for _ in range(len(maps))] dx = [0,0,1,-1] dy = [1,-1,0,0] def bfs(x,y): queue = deque() queue.append((x,y)) visited[x][y] = 1 while queue: x..
깊이/너비 우선 탐색(DFS/BFS) | Find-UNION 🌏 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👽 풀이 ➡️ find-union 이용 def solution(n, computers): def find_parent(parent, a): if parent[a] != a: parent[a] = find_parent(parent, parent[a]) return parent[a] def union_parent(parent, a, b): a = find_parent(parent, a) b = find_parent(parent, b) if a ..