https://school.programmers.co.kr/learn/courses/30/lessons/86971
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
from collections import deque
def bfs(start, visited, connected):
queue = deque()
queue.append(start)
visited[0] = True
cnt = 1
while queue:
node = queue.popleft()
for w in connected[node]:
if not visited[w]:
visited[w] = True
queue.append(w)
cnt += 1
return cnt
def solution(n, wires):
answer = 1e9
for i in range(n-1):
visited = [False]*n
connected = [[] for _ in range(n)]
for idx, wire in enumerate(wires):
if idx == i:
continue
else: # 연결 정보 저장
connected[wire[0]-1].append(wire[1]-1)
connected[wire[1]-1].append(wire[0]-1)
cnt = bfs(0, visited, connected)
answer = min(answer, abs((n-cnt)-cnt))
return answer
아아 ..... 너무 어이없는 실수로 또 시간을 버렸다. 함수를 만들 때 매개변수에 0 숫자를 넣어줘서 .....
정신 똑바로 차리고 풀자.
코딩테스트에 아주 유사한 문제가 나왔었는데, 못풀었다. 이렇게 쉽게 풀리는걸 못풀다니 ........ 다음 번 코테들은 절대 안 떨어지리라......
문제좀 많이 풀자 매일매일 꾸준히 !