너비우선탐색 백준 [7569] 토마토 - 이차원 배열 풀이 2차원 탐색을 3차원으로 확장한 문제. 3차원 배열로 초기화해서 풀 수 있지만 같은 팀원이 2차원 배열로 시도해서 도와 줬다. 2차원 배열로 풀기 위해서 배열을 [(높이)*(세로), (가로)] 로 초기화 한뒤 x좌표의 경계조건을 아래와 같이 설정해준다. 방향 벡터를 다음과 같이 정의할 때 새로 탐색할 좌표가 주어진 (세로) 범위에서 벗어나면 탐색을 생략한다.... BFS너비우선탐색BFS [백준] 9466번* 사이클에 포함되어 있지 않은 원소의 개수 구하기 임의의 원소에서 시작해 사이클에 포함된 원소인지/아닌지 체크 -> 저장 💻 C++ 기반 ✔️ visited 배열에 bool값이 아닌 int값을 넣어주면 반복문을 돌 때마다 초기화를 안 해줘도 되므로 시간 복잡도가 O(N)이 된다.... 너비우선탐색BFS코딩테스트코테그래프Graph백준BFS <BOJ>10026번: 적록색약 BFS 코드 틀을 알고 있으면 쉽게 풀 수 있는 전형적인 BFS 문제이다. 현재 좌표와 다음 좌표의 색상이 같으면 이동하는 방식으로 탐색한다. 2중 for문으로 방문하지 않은 좌표인지 파악해서 해당 좌표에서 BFS를 호출한다. 이 때 카운팅을 한다. → 각 색상별로 영역이 몇 개인지 파악함 적록색약인 경우를 위해 G영역을 R영역으로 바꾸고, visited를 초기화 한 뒤 다시 탐색한다.... pythonBFSboj너비우선탐색그래프탐색그래프백준BFS 너비우선탐색 (BFS : Breath First Search) 너비우선탐색(BFS) 이란? 한 노드에서 가장 인접한 다른 노드부터 차례로 그래프를 탐색하는 알고리즘이다. 가장 가까운 노드부터 가장 먼 노드까지 방문하기 때문에 넓게 탐색한다. (그래서 '너비'우선탐색) Queue에 인접한 노드들을 넣어놓고 차례대로 deQueue한다. 두 노드의 최단 경로 또는 임의의 경로를 찾아야할 때 주로 사용한다. 그래프(Graph)에 대한 포스팅은 다음에 해야겠다.... 너비우선탐색프로그래밍BFS자료구조알고리즘코딩테스트BFS javascript로 풀어낸 완전탐색 완전 탐색에서 비트마스크는 문제에서 나올 수 있는 모든 경우의 수가 각각의 원소가 포함되거나, 포함되지 않는 두 가지 선택으로 구성되는 경우에 유용하게 사용이 가능하다. 약간의 난이도가 있는 문제로 완전 탐색 + BFS/DFS 문제가 많이 나온다. 너비 우선 탐색(BFS, Breadth-First Search) 루트 노드(혹은 다른 임의의 노드)에서 시작해서 인접한 노드를 먼저 탐색하는 방법... 재귀함수JavaScriptDFS자바스크립트BFS비트마스크permutation너비우선탐색완전탐색순열brute forcebitmaskrecursion깊이우선탐색BFS [알고리즘] 백준 > #6593. 상범 빌딩 문제링크 풀이방법 탈출까지 걸리는 최소시간을 묻기 때문에 너비우선탐색을 이용했습니다! 지금까지 다룬 다른 문제들과 달리 level이 추가되었는데요, 이차원으로 풀던 문제를 삼차원으로 바꾸면 됩니다! 기존엔 dy, dx만 가지고 풀 수 있었지만, 이 문제에서는 dl이라는 변수도 추가해 여섯 방향에 대해 탐색을 진행했습니다. 코드... 알고리즘너비우선탐색너비우선탐색 [백준] 2146번* 💻 C++ 기반 ✔️ 서로 다른 섬 사이의 거리를 구할 때 계속해서 dist 배열을 초기화하는 것은 비효율적 ✔️ 각 지점이 cur 섬으로부터 얼마나 떨어져있는지와 next 섬으로부터 얼마나 떨어져있는지를 더하면 해결 가능... BFS백준코테너비우선탐색코딩테스트BFS [백준] 13549번* 💻 C++ 기반 ✔️ 그냥 BFS는 간선마다 가중치가 다 같은 상태에서 최소 횟수를 구하는 것일뿐 ✔️ 이 문제는 최소 횟수는 아니더라도 가중치가 최소일 수 있다는 것을 인지!... BFS백준코테덱Deque너비우선탐색코딩테스트BFS <BOJ>7562번: 나이트의 이동 BFS의 틀을 알면 바로 풀 수 있는 문제 중의 하나다. dx[], dy[]로 나이트의 이동 방향을 미리 초기화 한다. Flood Fill을 통해 목표 지점까지의 거리를 계산하면 된다.... Java그래프그래프탐색BFS너비우선탐색boj백준BFS
백준 [7569] 토마토 - 이차원 배열 풀이 2차원 탐색을 3차원으로 확장한 문제. 3차원 배열로 초기화해서 풀 수 있지만 같은 팀원이 2차원 배열로 시도해서 도와 줬다. 2차원 배열로 풀기 위해서 배열을 [(높이)*(세로), (가로)] 로 초기화 한뒤 x좌표의 경계조건을 아래와 같이 설정해준다. 방향 벡터를 다음과 같이 정의할 때 새로 탐색할 좌표가 주어진 (세로) 범위에서 벗어나면 탐색을 생략한다.... BFS너비우선탐색BFS [백준] 9466번* 사이클에 포함되어 있지 않은 원소의 개수 구하기 임의의 원소에서 시작해 사이클에 포함된 원소인지/아닌지 체크 -> 저장 💻 C++ 기반 ✔️ visited 배열에 bool값이 아닌 int값을 넣어주면 반복문을 돌 때마다 초기화를 안 해줘도 되므로 시간 복잡도가 O(N)이 된다.... 너비우선탐색BFS코딩테스트코테그래프Graph백준BFS <BOJ>10026번: 적록색약 BFS 코드 틀을 알고 있으면 쉽게 풀 수 있는 전형적인 BFS 문제이다. 현재 좌표와 다음 좌표의 색상이 같으면 이동하는 방식으로 탐색한다. 2중 for문으로 방문하지 않은 좌표인지 파악해서 해당 좌표에서 BFS를 호출한다. 이 때 카운팅을 한다. → 각 색상별로 영역이 몇 개인지 파악함 적록색약인 경우를 위해 G영역을 R영역으로 바꾸고, visited를 초기화 한 뒤 다시 탐색한다.... pythonBFSboj너비우선탐색그래프탐색그래프백준BFS 너비우선탐색 (BFS : Breath First Search) 너비우선탐색(BFS) 이란? 한 노드에서 가장 인접한 다른 노드부터 차례로 그래프를 탐색하는 알고리즘이다. 가장 가까운 노드부터 가장 먼 노드까지 방문하기 때문에 넓게 탐색한다. (그래서 '너비'우선탐색) Queue에 인접한 노드들을 넣어놓고 차례대로 deQueue한다. 두 노드의 최단 경로 또는 임의의 경로를 찾아야할 때 주로 사용한다. 그래프(Graph)에 대한 포스팅은 다음에 해야겠다.... 너비우선탐색프로그래밍BFS자료구조알고리즘코딩테스트BFS javascript로 풀어낸 완전탐색 완전 탐색에서 비트마스크는 문제에서 나올 수 있는 모든 경우의 수가 각각의 원소가 포함되거나, 포함되지 않는 두 가지 선택으로 구성되는 경우에 유용하게 사용이 가능하다. 약간의 난이도가 있는 문제로 완전 탐색 + BFS/DFS 문제가 많이 나온다. 너비 우선 탐색(BFS, Breadth-First Search) 루트 노드(혹은 다른 임의의 노드)에서 시작해서 인접한 노드를 먼저 탐색하는 방법... 재귀함수JavaScriptDFS자바스크립트BFS비트마스크permutation너비우선탐색완전탐색순열brute forcebitmaskrecursion깊이우선탐색BFS [알고리즘] 백준 > #6593. 상범 빌딩 문제링크 풀이방법 탈출까지 걸리는 최소시간을 묻기 때문에 너비우선탐색을 이용했습니다! 지금까지 다룬 다른 문제들과 달리 level이 추가되었는데요, 이차원으로 풀던 문제를 삼차원으로 바꾸면 됩니다! 기존엔 dy, dx만 가지고 풀 수 있었지만, 이 문제에서는 dl이라는 변수도 추가해 여섯 방향에 대해 탐색을 진행했습니다. 코드... 알고리즘너비우선탐색너비우선탐색 [백준] 2146번* 💻 C++ 기반 ✔️ 서로 다른 섬 사이의 거리를 구할 때 계속해서 dist 배열을 초기화하는 것은 비효율적 ✔️ 각 지점이 cur 섬으로부터 얼마나 떨어져있는지와 next 섬으로부터 얼마나 떨어져있는지를 더하면 해결 가능... BFS백준코테너비우선탐색코딩테스트BFS [백준] 13549번* 💻 C++ 기반 ✔️ 그냥 BFS는 간선마다 가중치가 다 같은 상태에서 최소 횟수를 구하는 것일뿐 ✔️ 이 문제는 최소 횟수는 아니더라도 가중치가 최소일 수 있다는 것을 인지!... BFS백준코테덱Deque너비우선탐색코딩테스트BFS <BOJ>7562번: 나이트의 이동 BFS의 틀을 알면 바로 풀 수 있는 문제 중의 하나다. dx[], dy[]로 나이트의 이동 방향을 미리 초기화 한다. Flood Fill을 통해 목표 지점까지의 거리를 계산하면 된다.... Java그래프그래프탐색BFS너비우선탐색boj백준BFS