본문 바로가기

BFS6

[백준] 경비원 (BFS풀이 + 해설 + 어떻게 생각 했을까) 구현 & BFS & 시뮬레이션 & 수학? https://www.acmicpc.net/problem/2564 2564번: 경비원 첫째 줄에 블록의 가로의 길이와 세로의 길이가 차례로 주어진다. 둘째 줄에 상점의 개수가 주어진다. 블록의 가로의 길이와 세로의 길이, 상점의 개수는 모두 100이하의 자연수이다. 이어 한 줄 www.acmicpc.net 코드 import sys from collections import deque input = sys.stdin.readline r, c = map(int, input().split()) shop = int(input()) arr = [[0] * (r+1) for _ in range(c+1)] shop_cordi = [] x, y = 0, 0 def cordi_c.. 2023. 8. 8.
[백준] 아기상어 [풀이 해설 + 코드 + 시간복잡도를 계산해보자?] 구현 & 시뮬레이션 & BFS https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 코드 import sys from collections import deque input = sys.stdin.readline n = int(input()) arr = [list(map(int, input().split())) for _ in range(n)] dx = [(-1, 0), (1, 0), (0, -1), (0, 1)] sX, sY = 0, 0 fo.. 2023. 8. 5.
[백준] 1753 최단경로 [다익스트라와 BFS차이를 한번 생각해보자 + 코드 없음] 다익스트라(dijkstra) https://www.acmicpc.net/source/64016802 로그인 www.acmicpc.net 설명 이번 포스팅 내용은 코드가 들어 있지 않습니다. 해당 문제에 대한 코드는 다익스트라의 기본적인 코드 내용이기 때문에 올리지 않고 다익스트라와 BFS의 차이가 무엇인지 둘 다 최단경로를 찾기 위해 사용되는 알고리즘인데 목적이 어떻게 다른지에 대해서 중점적으로 공부한 내용을 작성하겠습니다. 다익스트라(dijkstra) 알고리즘은 최단경로를 찾기 위해 사용되는 알고리즘이다. 이 알고리즘의 특징이라고 본다면 '가중치'가 있는 그래프에서 사용되는 특징을 가지고 있다. 앞서 이전 포스팅에서는 BFS를 활용해서 최단경로를 찾는 문제들을 접해봤었고, 왜 DFS 보다 BFS를 최단.. 2023. 7. 25.
[프로그래머스] Lv.2 미로탈출 [논리적 허점 + 코드 + 해설] 구현 & BFS & 최단경로 https://school.programmers.co.kr/learn/courses/30/lessons/159993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 from collections import deque def bfs(s, e, gx, gy, n, m, maps): visited = [[0] * m for _ in range(n)] visited[s][e] = 1 queue = deque([[s, e]]) result = 0 dx = [(-1, 0), (0, -1), (1, 0), (0, 1)] while q.. 2023. 7. 18.