프로그래머스[Level2] 게임 맵 최단거리 (BFS 알고리즘)
·
Coding Test/BFS
------------------------------------------------------------------------------------------------------------------------------------------------ 문제 접근 방법 1. 최단 경로를 찾으면서 모든 경로를 탐색해야 하므로 BFS 알고리즘을 사용하였습니다. 2. 문제 풀이 중 각 인덱스 초과의 경우 및 갔던 곳은 재방문 하지 않도록 해야 최단경로 이므로 길을 지나갈 때 마다 이전 "경로 비용 + 1" 을 하여 경로 비용을 계산하였습니다. -----------------------------------------------------------------------------------..
백준 2667 "단지 번호 붙이기" [BFS 알고리즘]
·
Coding Test/BFS
-----------------------------------------------------------------------------------------------------------------------------------------------------------------접근 순서 1. 해당 문제는 서로 연결되었는지를 BFS 알고리즘으로 생각하여 풀이를 시작함. 2. 입력에서 띄어쓰기가 없는 하나의 숫자로 들어오므로 string으로 받고 해당 문자를 char 형태로 접근하여 해당 문자를 2차원 배열로 접근 3. 다녀간 곳은 visited vector를 사용하여 기록하여 갔던 곳과 안갔던 곳을 구별함. ------------------------------------------..
프로그래머스 [level3] 가장 먼 노드 ( BFS 알고리즘)
·
Coding Test/BFS
#include #include #include #include using namespace std;int solution(int n, vector> edge) { int answer = 0; deque m_deque; vector> m_graph(n+1); vector m_vecDist(n+1,-1); for(auto& iter : edge) { m_graph[iter[0]].push_back(iter[1]); m_graph[iter[1]].push_back(iter[0]); } m_deque.push_back(1); m_vecDist[1] = 0; while(!m..
백준 1012번, "유기농 배추" ( BFS 알고리즘 )
·
Coding Test/BFS
#include #include #include using namespace std; int main(){ int i_TestCase; cin >> i_TestCase; vector m_vecAnswer; for(int i=0; i> m_vec(51, vector(51, 0)); vector> m_vecVisited(51, vector(51, false)); int answer = 0; deque> m_deque; int i_Row, i_Col, i_CabbageCount; cin >> i_Row >> i_Col >> i_CabbageCount; for(int j=0; j> x >> y; m_vec[x][y] = 1; m_deque.push_back(make_pai..
프로그래머스 [Level3] 아이템 줍기
·
Coding Test/BFS
#include #include #include using namespace std;int solution(vector> rectangle, int characterX, int characterY, int itemX, int itemY) { int answer = 0; vector> m_vecArray(102, vector(101, -1)); vector> m_vecVisit(102, vector(101, -1)); // 방문가능한곳 설정하기 for (auto& iter : rectangle) { int start_x, start_y = 0; int end_x, end_y = 0; start_x = iter[0]*2; ..
프로그래머스 [level 2] 게임 맵 최단거리 - 1844 (BFS)
·
Coding Test/BFS
#include#include #include #include using namespace std;int solution(vector > maps){ int n = maps.size(); int m = maps[0].size(); int i_Count = 0; vector> m_vecVisit(n, vector(m,-1)); deque> m_dequeVisit; m_dequeVisit.push_front({0,0}); m_vecVisit[0][0] = 1; while(!m_dequeVisit.empty()) { int i_PosX = m_dequeVisit.front().first; int i_PosY = m_de..