Seize your moment! 👾

안녕하세요. Eric입니다. 제 블로그에 방문해주셔서 감사합니다.

dfs 5

[Eric's 백준] 2667번 - 단지번호 붙이기 - Java 🍯

문제 안녕하세요! Eric 입니다 오늘 풀어볼 문제는 백준 2667번 단지번호 붙이기 입니다 이번 문제는 dfs로 풀어보도록 하죠. 풀이 우선 단지가 몇개인지 구해야하고, 각각의 단지당, 몇개의 가구로 구성되어 있는지 구해야합니다. 이번에도 저는 boolean[] graph 값으로 받아서 단지가 있는 1 로 표시되어 있는 부분은 true 값으로 graph를 그립니다. 그리고 graph 에서 true값을 만마면 상하좌우를 dfs를 돌면서 각각의 단지의 개수를 찾음과 동시에, 해당 graph 위치를 false로 변환시켜줍니다. 그리고 각각의 단지 개수를 count 해줄 ArrayList를 이용해서 해당값을 저장하고 이를 오름차순으로 정렬 후 출력해줍니다. 그러면 코드를 보시죠. 코드

[Eric's 백준] 1012번 - 유기농배추 🥬 - Java

문제 안녕하세요! Eric 입니다! 오늘 풀어볼 문제는 백준 1012번 , 유기농 배추 입니다! 그러면 문제를 풀어보도록 하죠! 풀이 우선 유기농배추를 만들기위해서 배추흰지렁이 를 깔아야합니다. 깔기위해서는 배추가 있는 위치에 깔아야며, 그 지렁이가 상하좌우 로 움직이면서 배추를 보호한다 이를 저는 dfs를 통해서 구연해 보았습니다. 우선 주어진 test case를 int로 받고, 그때의 주어진 배추밭의 길이 m과 n을 받아서 이를 통해서 boolean[] graph를 만듭니다. 이는 배추가 있는 위치에 true값을 주며, 배추가 없는 위치에는 false로 만들어줍니다. 그리고 동일한 사이지의 boolean[] visited 배열을 만들고 dfs가 돌면서 해당 지점을 방문하면 true로 값을 변환해줍니다..

[Eric's 백준] 1987번 - 알파벳 - Java

문제 오늘도 백준문제 달리는 Eric입니다! 오늘 풀어볼 문제는 백준 1987번 알파벳 이라는 문제 입니다. 일반적인 dfs 문제랑 다르게, graph가 0과 1로 이루어 진것이 아니라, 알파벳으로 이루어져 있고, 이미 지나간 알파벳은 다시 지날 수 없다는 조건이 있습니다. 그래서 저는 이 부분을 boolean[] visited = new boolean[26] 으로 설정하고 만약 해당 칸을 지나가면, 값을 true로 변경하도록 하였습니다. 그리고 dfs를 돌면서 만약 해당 graph 위치에 도착했을때 visited가 false 이면 상,하,좌,우 로 이동하면서 dfs를 반복합니다. 만약 돌다가 visited가 true 이면 이미 지나갔던 알파벳을 만난것이므로 answer 에 max 값으로 입력합니다. 그..

[Eric's 백준] 2606번 - 바이러스 - Java

안녕하세요! Eric 입니다 오늘 풀어볼 문제는 백준 2606번 바이러스 입니다. 해당문제는 dfs 로 풀었습니다. 문제를 풀면서 저는 그림을 하단과 같이 그려가며 풀어보았습니다. 코드 제가 결과값에서 answer 부분에서 -1 을 한 이유는 1번 컴퓨터는 이미 감염된 컴퓨터 이므로 -1 을 제거해주어야 합니다. boolean[] visited 값이 true 인 결과의 개수를 세어주어 풀어도 상관은 없습니다.

[Eric's 백준] 1260번 - DFS 와 BFS - Java

안녕하세요! Eric 입니다 오늘은 그래프 순회 문제를 풀어보도록 하겠습니다. dfs 랑 bfs 를 주어진 예시를 바탕으로 저는 직접 그려서 문제를 풀어 보았습니다. 하단의 두 사진 중 각각좌측 부분의 그림이 dfs 방식이며, 하단의 두 사진 중 각각 우측 부분이 Queue를 이용한 bfs 방식입니다. 코드구현 코드를 구현해보았습니다.