넓이우선탐색1 [Swift][BFS] 백준 1261번 (알고스팟) 요구능력 : BFS에 대한 이해 코드설명 : 이 문제를 푸는 방법은 여러가지가 있겠지만, 저는 BFS에서 가중치를 이용해서 문제를 풀었습니다. 아래는 이 문제에서의 핵심코드입니다.(제가 생각하기에..) arr배열은 입력받은 배열로 1이면 벽, 0이면 뚫려있는공간을 의미합니다. dist배열은 미리 모두 Int.max값으로 초기화 해놨는데, 그 이유는 비교해서 가중치 값을 작은값으로 치환하기 위해서입니다. 아래에서 어떤느낌으로 가중치가 가중되는지 그림으로 그려봤습니다. if arr[nx][ny] == 1{ if dist[nx][ny] > dist[pop.0][pop.1] + 1{ dist[nx][ny] = dist[pop.0][pop.1] + 1 queue.append((nx, ny)) } }else if .. 2021. 11. 15. 이전 1 다음