importsysfromcollectionsimportdequeinput=sys.stdin.readlineN,M,K,X=map(int,input().split())# 노드개수, 에지개수, 목표거리, 시작점
A=[[]for_inrange(N+1)]# 그래프 데이터 저장 인접 리스트
answer=[]# 정답 리스트
visited=[-1]*(N+1)# 방문 거리 저장 리스트
defBFS(v):# BFS 탐색을 최단 거리값을 리스트에 저장
queue=deque()queue.append(v)visited[v]+=1# 거리 저장형태로 1 증가
whilequeue:# 큐가 비어있을때
now_Node=queue.popleft()# 큐에서 노드 데이터 가져오기
foriinA[now_Node]:ifvisited[i]==-1:# 노드에 연결되어 있지만 방문하지 않은 노드
visited[i]=visited[now_Node]+1# visited 리스트값 1 증가
queue.append(i)# 큐에 노드 삽입
for_inrange(M):S,E=map(int,input().split())A[S].append(E)# A 인접 리스트에 그래프 데이터 저장
BFS(X)foriinrange(N+1):ifvisited[i]==K:# 방문 거리가 K인 노드의 숫자를 정답 리스트에 더하기
answer.append(i)ifnotanswer:print(-1)else:answer.sort()foriinanswer:print(i)# 정답 리스트 정렬하고 출력
그래프 알고리즘 문제풀이 (백준 온라인 저지 1717번)
50번 집합 표현하기
importsysinput=sys.stdin.readlinesys.setrecursionlimit(1000000)N,M=map(int,input().split())parent=[0]*(N+1)# 대표 노드 저장 리스트
deffind(a):ifa==parent[a]:# a가 대표 노드면 리턴
returnaelse:# a의 대표 노드값을 find(parent[a])값으로 저장 -> 재귀 함수 형태
parent[a]=find(parent[a])returnparent[a]defunion(a,b):a=find(a)# a와 b의 대표 노드 찾기
b=find(b)ifa!=b:# 두 원소의 대표 노드끼리 연걸
parent[b]=adefcheckSame(a,b):# 두 원소 같은 집합 확인
a=find(a)b=find(b)ifa==b:# 두 대표 노드 같으면 true
returnTruereturnFalseforiinrange(0,N+1):parent[i]=i# 대표 노드를 자기 자신으로 초기화
foriinrange(M):question,a,b=map(int,input().split())ifquestion==0:# 질문이 0이면
union(a,b)# 집합 합치기 (union 연산)
else:ifcheckSame(a,b):# 같은 집합 원소인지 확인하고 결과값 출력
print("YES")else:print("NO")
현재 3월부터 진행하고 있는 스프링부트 프로젝트 (Fashion Cloud)을 하고 있는 과정에서
처음 프로젝트 생성할때 도커파일을 만들어두고 연결을 했다고 생각하였는데 빌드가 정상적으로 발생하지 않는 문제가 발생하였다.
웃긴 게 터미널에 빌드가 되는 형태로 나와있었으면서 막상...
Comments