백준98 백준 3187번 : 양치기 꿍 문제 www.acmicpc.net/problem/3187 3187번: 양치기 꿍 입력의 첫 번째 줄에는 각각 영역의 세로와 가로의 길이를 나타내는 두 개의 정수 R, C (3 ≤ R, C ≤ 250)가 주어진다. 다음 각 R줄에는 C개의 문자가 주어지며 이들은 위에서 설명한 기호들이다. www.acmicpc.net 구현 방법 bfs로 구현했습니다. 맴 전체를 탐색하며 #(울타리)가 아닐때마다 bfs를 돌려 양과, 늑대 수를 카운팅 해주었습니다. 주의할 점은 딱 한 칸 존재하는데 그 칸이 빈 칸이 아니라 늑대, 양 일수도 있으므로 bfs 돌리기 전 카운팅을 진행해줘야 합니다. 3184번 : 양이랑 거의 똑같은 문제입니다. 구현 코드 package BOJ.Silver; import java.io.Buffer.. 2021. 3. 14. 백준 1926번 : 그림 문제 www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net 구현 방법 bfs로 구현해주었습니다. 그림의 개수는 그림을 탐색할 때 1일때만 bfs를 돌게 하고 방문표시로 해당 값을 0으로 바꿔줍니다. 그림의 넓이는 한 칸의 넓이가 1입니다. 즉, 총 칸이 몇 개 있는지를 구하고 최댓값을 구해야 하기 때문에 해당 그림을 탐색하고 Math.max 함수를 이용하여 그림의 크기가 더 큰 값을 출력해줍니다. 주의할 점은 그림이 하나도 없는 경우에는 가장 넓은 그림의 넓이는 0이므.. 2021. 3. 13. 백준 2630번 : 색종이 만들기 문제 www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net 구현 방법 전형적인 분할정복 문제입니다. 분할정복이란 그대로 해결할 수 없는 문제를 작은 문제로 분할하여 문제를 해결하는 방법이나 알고리즘입니다. 색종이의 맨 값을 저장해준 다음 탐색하면서 저장 값과 다르면 4등분으로 나눠줍니다. 이를 반복해줍니다. 구현 코드 package BOJ.Silver; import java.io.BufferedReader; import java.io.I.. 2021. 3. 13. 백준 2668번 : 숫자 고르기 문제 www.acmicpc.net/problem/2668 2668번: 숫자고르기 세로 두 줄, 가로로 N개의 칸으로 이루어진 표가 있다. 첫째 줄의 각 칸에는 정수 1, 2, …, N이 차례대로 들어 있고 둘째 줄의 각 칸에는 1이상 N이하인 정수가 들어 있다. 첫째 줄에서 숫자를 적절 www.acmicpc.net 구현 방법 저는 dfs를 사용하여 구현해주었습니다! 처음에 코드 작성 전 시뮬레이션을 돌려보며 어떻게 구현해야 할까 고민을 많이 한 문제입니다. 더 좋은 방법이 있을거 같은데 제 생각은 여기까지라,, 그냥 이렇게 풀 수도 있구나 참고만 해주셔도 좋을거 같습니다. 일단 먼저 인덱스 방문표시, 값 방문표시 해주기 위한 boolean 배열 2개를 선언해 준 후 반복문을 돌려 인덱스0부터 탐색을 해주.. 2021. 3. 12. 이전 1 ··· 15 16 17 18 19 20 21 ··· 25 다음