[JAVA] 백준 16236 아기상어
2021. 8. 25. 21:53
알고리즘/백준 BOJ
https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 풀이 방법 수정중.. JAVA 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Li..
[JAVA] 백준 1260 DFS와 BFS
2021. 8. 23. 17:03
알고리즘/백준 BOJ
https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 풀이 방법 일반적인 DFS, BFS 코드를 작성해주었다. 인접리스트(ArrayList) 형태로 그래프를 만들어 주었다. ArrayList 안에 다시 ArrayList 형태를 만들고, for문을 이용해 정점 개수만큼 ArrayList안에 ArrayList를 생성해줌. 주의할 점 1. "방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하..
[JAVA] SWEA 1238 Contact
2021. 8. 23. 14:34
알고리즘/SWEA
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15B1cKAKwCFAYD&categoryId=AV15B1cKAKwCFAYD&categoryType=CODE&problemTitle=1238 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 방법 1. BFS로 탐색, 각 노드의 depth를 구해 저장 2. depth가 가장 큰 노드들 중, 값이 가장 큰 노드를 출력 3. 인접리스트로 구현 JAVA 코드 import java.io.BufferedReader; import java.io.IOException; import..
[JAVA] 백준 17135 캐슬 디펜스 풀이
2021. 8. 20. 09:48
알고리즘/백준 BOJ
https://www.acmicpc.net/problem/17135 17135번: 캐슬 디펜스 첫째 줄에 격자판 행의 수 N, 열의 수 M, 궁수의 공격 거리 제한 D가 주어진다. 둘째 줄부터 N개의 줄에는 격자판의 상태가 주어진다. 0은 빈 칸, 1은 적이 있는 칸이다. www.acmicpc.net 풀이 방법 1. 궁수들의 자리를 조합을 이용해 뽑음 2. 뽑은 자리에서 bfs를 이용해 공격 거리안에 있는 죽일 수 있는 적을 표시함 3. 한번의 공격이 끝난 후, 표시한 곳을 돌면서 죽인 적의 위치를 0으로 바꿔줌 4. 적의 위치를 r+1 해줌 5. 2-4를 반복 6. 더이상 적이 없을 경우, 죽인 적의 수와 현재 최대값을 비교 7. 다음 조합에서 2-6을 반복, 죽일 수 있는 적의 최대값을 구함 틀렸던 ..