본문 바로가기

전체 글19

[BOJ 백준] 1991 - 트리 순회, Java(자바) 문제 https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net 풀이 알파벳 순서대로 노드의 이름이 매겨지므로 노드의 개수 N 크기의 Node 배열을 만들고, A 노드부터 인덱스 순서대로 Node를 생성한다. 입력에 따라 왼쪽, 오른쪽 자식 노드를 연결하고 전위, 중위, 후위 순회한 결과를 각각 출력한다. order 함수 하나만으로 전위, 중위, 후위 순회 결과를 한 번에 호출할 수도 있다. 코드 import java.util.*; import.. 2023. 3. 4.
[BOJ 백준] 6068 - 시간 관리하기, Java(자바) 문제 https://www.acmicpc.net/problem/6068 6068번: 시간 관리하기 성실한 농부 존은 시간을 효율적으로 관리해야 한다는 걸 깨달았다. 그는 N개의 해야할 일에 (1 2023. 3. 3.
[BOJ 백준] 7576 - 토마토, Java(자바) 문제 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 풀이 다음 날 익을 토마토를 큐에 담고, 남은 토마토가 없거나 더 이상 토마토가 익지 않을 때까지 bfs를 이용해 탐색한다. 코드 import java.util.*; import java.io.*; public class Main { public static void main(String args[]) throws Exception { BufferedReader in = ne.. 2023. 3. 2.
[BOJ 백준] 16988 - Baaaaaaaaaduk2 (Easy), Java(자바) 문제 https://www.acmicpc.net/problem/16988 16988번: Baaaaaaaaaduk2 (Easy) 서기 2116년, 인간은 더 이상 AI의 상대가 되지 못하게 되었다. 근력, 순발력, 창의력, 사고력, 문제해결능력, 심지어 인간미조차 AI가 인간을 앞선다. AI가 온 지구를 관리하며 이미 인류는 지구의 www.acmicpc.net 풀이 3 = M || visited[dr][dc] || map[dr][dc] == 1) continue; if (map[dr][dc] == 0) { flag = false; continue; } visited[dr][dc] = true; count++; dfs(dr, dc); } } } 2023. 3. 2.
[BOJ 백준] 13913 - 숨바꼭질 4, Java(자바) 문제 https://www.acmicpc.net/problem/13913 13913번: 숨바꼭질 4 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 풀이 bfs를 이용해 1 더하거나 1 빼거나 2를 곱한 값들을 큐에 넣으면서 부모 배열을 업데이트 시켜준다. 만약 다음 값이 K라면 while문을 빠져나온 후 부모를 따라가면서 스택에 넣었다가 하나하나 빼면서 출력한다. 코드 import java.util.*; import java.io.*; public class Main { static int[] pare.. 2023. 2. 7.