BFS

코딩테스트/programmers

프로그래머스 / BFS / 리코쳇 로봇

문제 https://school.programmers.co.kr/learn/courses/30/lessons/169199?language=cpp 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 입출력 해설 격자무늬가 주어졌을 때 목표지점까지 도달하는 최소 이동횟수를 구하는 문제이다. 이동하는 방식은 한 번 움직이면 미끄러지는 방식으로 '벽' 또는 '장애물'을 부딪혔을 때까지 움직일 수 있다.그러면 한 번 움직일 때 계속하여 한 방향으로 움직일 수 있도록 해주어야 한다. 또한 한 번 도달한 곳에서는 다시 방문할 이유가 없기 때문에 방문배열을 2차원으로 선언하면 된다. 결론적으로 다음과 같은 로직으로 풀이가 진행된..

코딩테스트/programmers

프로그래머스 / BFS / 미로 탈출

문제 https://school.programmers.co.kr/learn/courses/30/lessons/159993# 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 입출력 해설 n * n 미로를 레버를 당긴 후 탈출하는 문제이다. 해당 문제는 전형적인 BFS 문제이며, 상태는 레버를 당긴 상황과 당기지 않은 상황으로 나눌 수 있을 것이다.그렇기 때문에 BFS를 돌릴 때 상태를 추가적으로 저장할 수 있어야 한다. 1. 시작 좌표를 알아낸다.2. 방문배열을 3차원 배열로 레버를 당긴 상태를 추가적으로 저장할 수 있도록 한다.3. BFS를 돌린다. 초기의 위치가 0인 것을 유의하고 또한 레버를 당기지 않고도 ..

코딩테스트/programmers

프로그래머스 / bfs / 게임 맵 최단거리

문제 https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 입출력 해설 [0, 0]지점에 있는 게임 말을 n-1, m-1에 도달할 수 있는지와 도달할 수 있다면 얼마나 걸리는지에 관한 문제였다. 일단 최단거리로 움직인다는 가정 하 진행을 하는 것이었다. 이럴 때에는 BFS를 이용하여 풀이를 진행하는 것이 매우 좋다.1 충분히 돌 수 있는 시간이기에 BFS를 이용하였다. 1. [0, 0] 지점 큐에 추가하기.2. Boundary 체크, 방문 체크, 벽인지 체크.3. 탈출 조건 확인 위와 같은 순서로 풀이를..

견우직녀달
'BFS' 태그의 글 목록