Code 33

[백준] 7453번: 합이 0인 네 정수 (Python3)

https://www.acmicpc.net/problem/7453 문제정수로 이루어진 크기가 같은 배열 A, B, C, D가 있다.A[a], B[b], C[c], D[d]의 합이 0인 (a, b, c, d) 쌍의 개수를 구하는 프로그램을 작성하시오. 입력첫째 줄에 배열의 크기 n (1 ≤ n ≤ 4000)이 주어진다. 다음 n개 줄에는 A, B, C, D에 포함되는 정수가 공백으로 구분되어져서 주어진다. 배열에 들어있는 정수의 절댓값은 최대 228이다. 출력합이 0이 되는 쌍의 개수를 출력한다. 예제 입력 16-45 22 42 -16-41 -27 56 30-36 53 -37 77-36 30 -75 -4626 -38 -10 62-32 -54 -6 45 예제 출력 15문제 설명n 이 입력되고, n번 동안 각..

Code/백준 2024.07.09

[알고리즘] 플로이드-워셜 알고리즘

플로이드-워셜 알고리즘(Floyd-Warshall Algorithm) 간선 weight가 음수 또는 양수인 그래프에서 최단 경로를 찾는데 사용하는 알고리즘이 알고리즘을 한 번 수행하면 vertex 와 vertex 를 잇는 모든 경우의 수에 대한 최단 거리를 찾을 수 있다. 불필요한 글 더 적지 않고 작성한 Python 알고리즘 코드 분석하겠다.디테일한 문제 상황은 백준의 11404번을 참조하기 바란다. 11404번: 플로이드첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가www.acmicpc.net 1부터 n까지의 node가 존재하고하나의 노드에서 다른 노드로 갈..

Code/알고리즘 2023.09.21

[알고리즘] BFS / DFS 분석 및 비교 + Python 구현

그래프에서 노드를 탐색하는 두 알고리즘 DFS와 BFS에 대해 정리하고자 글을 작성한다.BFS(Breadth-First Search) 요약BFS는 하나의 node에서 인접한 node를 Queue에 저장시켜놓는다.그리고 더 이상 방문 가능한 인접 node가 없을 때 FIFO(First In First Out)를 통해 하나의 인접 node를 pop 시켜 정점을 이동한다.해당 node에서 또 인접한 node를 Queue에 저장시켜, 결과적으로 Queue에 더 이상 저장된 node가 없을 때 까지 Searching하는 방식이 BFS이다.하나의 Node에서부터 방문 가능한 주변 Node들을 모두 찾아나가면서 조사하는 것이다. DFS(Depth-First Search) 요약DFS는 재귀함수를 이용하여 하나의 Nod..

Code/알고리즘 2023.08.11
728x90
반응형