dfs

·Coding Test/백준
문제설명입력 & 출력나의 풀이먼저 이번 문제는 배추밭의 가로, 세로가 주어졌을 때 배추가 있는 부분은 1 없는 부분은 0이며, 상하좌우로 이동하며 인접한 배추가 있으면 인접 배추로 이동할 수 있는 지렁이가 몇 마리 필요한 지 알아내는 문제입니다. 먼저 계속해서 호출되는 변수들을 가독성이 좋도록 전역변수로 선언합니다. 선언하는 전역변수에는 방문 여부를 저장할 visited배열, 배추밭의 지도 map, 입력으로 받을 변수들과 지렁이가 이동할 수 있는 배열을 초기화해 줍니다. "상하좌우"로 이동할 수 있다고 정의할 것이기 때문에 x축 이동을 하는 dx는 좌, 우 y축을 이동을 하는 dy는 상, 하 DFS(깊이 우선 탐색)을 이용하여 배추 군집을 찾습니다. 현재 위치를 방문 처리하고, 상하좌우로 연결된 배추를 ..
·Coding Test/백준
문제설명입력 & 출력나의 풀이먼저 이번 문제는 정사각형 N(지도의 크기)이 주어질 때 집이 있는 곳은 1 없는 곳은 0입니다. 이때 연결되어 있는 집을 단지로 구분하여 단지의 수와 크기를 출력하는 문제입니다.  먼저 가독성을 높이기위하여 계속 사용되는 변수들을 전역 변수로 선언해주고, 단지가 몇 개인지 모르기 때문에 동적으로 크기를 조절할 수 있도록 ArrayList를 초기화해줍니다. 또한 상하좌우로 이동할 것이기 때문에 dx와 dy를 초기화해 줍니다. 주석을 달아놔서 따로 설명은 필요 없을 것 같습니다.   먼저 DFS를 동작할 함수를 선언합니다.  현재 위치를 방문했음을 표시하기 위해 해당 위치를 `true`로 설정하고, 단지 내 집의 수를 나타내는 `count`를 증가시킵니다.  그다음, 상하좌우로..
·Coding Test/백준
문제설명입력 & 출력나의 풀이 이번 문제의 주요 목표는 '-'와 '|'로 이루어진 바닥 장식의 개수를 세는 것입니다. 이를 위해 DFS를 사용하여 각 장식의 연결된 부분을 방문하고, 이미 방문한 부분은 다시 방문하지 않도록 합니다. 먼저 코드의 가독성을 위해서 아래의 변수 및 배열을 전역 변수로 선언해 줍니다.방바닥의 크기인 N과 M 방문 여부를 저장할  visitied 배열바닥 장식을 저장할 floor 배열 빠른 입력을 위해서 BufferedReader클래스를 사용하여 입력을 받아주고, N과 M을 공백을 기준으로 분리하여 token에 저장합니다. 입력받은 바닥의 가로 N 세로 M의 크기만큼 순회를 하면서, charAt() 메서드를 사용하여 각 line의 요소를 가져와 floor배열에 저장을 합니다. ..
지누박
'dfs' 태그의 글 목록 (2 Page)