자바

Coding Test/DFS & BFS

[DFS] 백준 - 17265번: 나의 인생에는 수학과 함께 Java 풀이

[공부용이기 때문에 코드가 깔끔하지 않을 수 있습니다!] 17265번: 나의 인생에는 수학과 함께 세현이의 인생의 목표는 1분 1초 모든 순간 수학과 함께 살아가는 것이다. 그렇기 때문에 매일 수학을 생각하면서 살아가고 있다. 세현이는 밥을 먹을 때도 쌀알의 수를 계산하여 칼로리를 바로 www.acmicpc.net 문제는 잘 설명되어 있지만 여기에서 주의해야 할 게 오른쪽과 아래로만 내려갈 수 있다! 처음에 동서남북으로 다 움직이면서 답이 왜 안 나오지 그러면서 헤매었다.. 코드 import java.util.ArrayList; import java.util.Collections; import java.util.Scanner; public class Main { static char[][] map; st..

Coding Test/DFS & BFS

[DFS] 백준 - 1240번: 노드사이의 거리 Java 풀이

[공부용이기 때문에 코드가 깔끔하지 않을 수 있습니다!] 1240번: 노드사이의 거리 N(2≤N≤1,000)개의 노드로 이루어진 트리가 주어지고 M(M≤1,000)개의 두 노드 쌍을 입력받을 때 두 노드 사이의 거리를 출력하라. www.acmicpc.net 문제는 다음과 같다. n개의 노드가 주어지고 m번의 거리를 구할 노드와 노드가 한 쌍으로 개수가 주어진다. 그리고 n번째줄까지 a노드와 b노드, 거리가 주어지고 n+1번째 줄부터 n+m번째 줄까지 노드와 노드가 주어진다. 그리고 주어진 노드들 사이의 거리를 구하면 된다. 코드 import java.util.ArrayList; import java.util.Scanner; public class Main { static ArrayList[] map; s..

Coding Test/DFS & BFS

[DFS] 백준 - 1068번: 트리 Java 풀이

[공부용이기 때문에 코드가 깔끔하지 않을 수 있습니다!] 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다 www.acmicpc.net 문제는 트리에서 노드 하나를 삭제하고 그 트리의 리프 노드를 구하는 것이다. 그냥 마지막으로 입력받은 노드를 부모 노드에서 삭제시키고 dfs 돌리면 된다. 따라서 쉬운 편인 문제이다. 코드 import java.util.ArrayList; import java.util.Scanner; public class Main { static ArrayList[] map; static boolean[] visi..

Coding Test/DFS & BFS

[DFS] 백준 - 1967번: 트리의 지름 Java 풀이

[공부용이기 때문에 코드가 깔끔하지 않을 수 있습니다!] 1967번: 트리의 지름 파일의 첫 번째 줄은 노드의 개수 n(1 ≤ n ≤ 10,000)이다. 둘째 줄부터 n-1개의 줄에 각 간선에 대한 정보가 들어온다. 간선에 대한 정보는 세 개의 정수로 이루어져 있다. 첫 번째 정수는 간선이 연 www.acmicpc.net 문제는 다음과 같다. 간선의 길이를 다 합쳤을 때 가장 긴 지름인 두 노드를 구해서 그 지름을 프린트하는 것이다! DFS로 금방 풀 수 있다. 코드 import java.util.ArrayList; import java.util.Scanner; public class Main { static ArrayList[] map; static boolean[] visit; static int n..

Coding Test/DFS & BFS

[DFS] 백준 - 14716번: 현수막 Java 풀이

[공부용이기 때문에 코드가 깔끔하지 않을 수 있습니다!] 14716번: 현수막 혁진이의 생각대로 프로그램을 구현했을 때, 현수막에서 글자의 개수가 몇 개인지 출력하여라. www.acmicpc.net 문제는 상하좌우, 대각선으로 숫자 1인 것을 방문해서 카운팅만 해주면 된다. 코드 import java.util.Scanner; public class Main { static boolean[][] map; static boolean[][] visit; static int n; static int m; static int dx[] = {0, 0, -1, 1, -1, 1, -1, 1}; static int dy[] = {-1, 1, 0, 0, 1, 1, -1, -1}; public static void main..

Coding Test/DFS & BFS

[DFS] 백준 - 1303번: 전쟁 - 전투 Java 풀이

[공부용이기 때문에 코드가 깔끔하지 않을 수 있습니다!] 1303번: 전쟁 - 전투 첫째 줄에는 전쟁터의 가로 크기 N, 세로 크기 M(1 ≤ N, M ≤ 100)이 주어진다. 그 다음 두 번째 줄에서 M+1번째 줄에는 각각 (X, Y)에 있는 병사들의 옷색이 띄어쓰기 없이 주어진다. 모든 자리에는 www.acmicpc.net 문제는 W와 B가 주어질 때 상하좌우로 같은 알파벳이라면 그거에 개수만큼 제곱되어 공격력이 된다. 그래서 각각의 공격력을 나타내면 된다. 문제 import java.util.Scanner; public class Main { static char[][] map; static boolean[][] visit; static int n; static int m; static int dx..

Coding Test/DFS & BFS

[DFS] 백준 - 3184번: 양 Java 풀이

[공부용이기 때문에 코드가 깔끔하지 않을 수 있습니다!] 3184번: 양 첫 줄에는 두 정수 R과 C가 주어지며(3 ≤ R, C ≤ 250), 각 수는 마당의 행과 열의 수를 의미한다. 다음 R개의 줄은 C개의 글자를 가진다. 이들은 마당의 구조(울타리, 양, 늑대의 위치)를 의미한다. www.acmicpc.net 문제는 #으로 된 무리 안에 양이 사는데 늑대가 출몰한다. 이때 무리 안에 양의 수 > 늑대 수일 경우 늑대를 내보낼 수 있고, 늑대 수 >= 양의 수일 경우 늑대는 양을 다 잡아 먹는다. 코드 import java.util.Scanner; public class Main { static char[][] map; static boolean[][] visit; static int r; stati..

Coding Test/DFS & BFS

[DFS/BFS] 백준 - 1926번: 그림 Java 풀이

[공부용이기 때문에 코드가 깔끔하지 않을 수 있습니다!] 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net 문제의 해석은 다음과 같다. 2차원 배열에 1이 되어있는 부분은 색칠된 부분이고 동서남북으로 이루어져 있는 그림을 하나의 그림으로 보고 그 그림의 개수를 print하고, 그림들 중에 가장 많은 면적을 차지하는 그림의 1의 개수를 표현하는 것이다. 문제는 DFS로 방문처리해주면서 카운트와 면적을 구하면 된다. 코드(DFS) import java.util.ArrayList; import java.util.Colle..

Coding Test/DFS & BFS

[DFS] 백준 - 1595번: 북쪽나라의 도로 Java 풀이

[공부용이기 때문에 코드가 깔끔하지 않을 수 있습니다!] 1595번: 북쪽나라의 도로 입력은 여러줄에 걸쳐 주어진다. 입력의 각 줄은 세 개의 양의 정수로 구성되어있는데, 각각은 차례대로 서로 다른 두 도시의 번호와 두 도시를 연결하는 도로의 길이를 의미한다. 모든 도로는 www.acmicpc.net 문제는 다음과 같다. 이미 방문한 도시는 다시 방문할 수 없고, A 도시와 B 도시 간에 가장 먼 거리를 재는 것이다. 그래서 가장 먼 거리를 계산해 보면 5번 노드에서 시작해서 1번, 6번, 3번 순으로 가면 총 거리 22로 제일 길다. 근데 입력 조건에 보면 뭔가 언제부터 언제까지 받아야 하는지 표시가 안 되어 있었다. 코드로 확인해 보자 코드 import java.util.ArrayList; impor..

Coding Test/DFS & BFS

[DFS] 백준 - 3584번: 가장 가까운 공통 조상 Java 풀이

[공부용이기 때문에 코드가 깔끔하지 않을 수 있습니다!] 3584번: 가장 가까운 공통 조상 루트가 있는 트리(rooted tree)가 주어지고, 그 트리 상의 두 정점이 주어질 때 그들의 가장 가까운 공통 조상(Nearest Common Anscestor)은 다음과 같이 정의됩니다. 두 노드의 가장 가까운 공통 조상은, 두 www.acmicpc.net 위 문제는 예시에서 보이는 것처럼 어떠한 두 수가 주어졌을 때 이들의 가장 가까운 공통 부모 노드를 찾는 것이다. 나는 그래서 그래프를 짤 때 다음과 같이 했다. 위 그림처럼 노드들이 참조할 때 부모 -> 자식이 아닌 자식 -> 부모로 참조하였고 단방향 참조로 하였다. 뭔가 그게 더 쉽고 빠르게 풀 수 있을 것 같았다.(뇌피셜) 코드 import java..

혁키
'자바' 태그의 글 목록 (2 Page)