재귀3 [백준] 1991: 트리 순회 - JAVA https://www.acmicpc.net/problem/1991 풀이트리, 재귀. 이진 트리가 주어지고 전위순회, 중위순회, 후위순회한 결과를 출력하면 되는 문제이다. 이진 트리는 각 노드와 왼쪽 자식 노드, 오른쪽 자식노드로 주어져 트리를 구현하여 저장해야 했다. 메모리: 14188KB시간: 124ms언어: Java 11import java.io.*;import java.util.*;public class Main { static StringBuilder sb = new StringBuilder(); static class Node { char ch; Node left; Node right; public Node(char ch) { .. 2024. 5. 12. [백준] 12919: A와 B 2 - JAVA https://www.acmicpc.net/problem/12919 풀이문자열, 브루트포스 문제이다. A와 B로만 이루어진 단어들이 있는데 첫번째 주어지는 단어(S)로 두번째 단어(T)를 만들 수 있는지 확인하는 문제이다. 문자열을 바꿀 때는 "문자열의 뒤에 A를 추가한다", "문자열의 뒤에 B를 추가하고 문자열을 뒤집는다" 이 두가지의 연산이 가능하다. S에서 T를 만드려면 두 가지 연산을 모두 시도해야 하지만 T에서 S를 만들 때는 문자열의 뒤에 A가 있는지, 문자열의 앞에 B가 있는지 확인하여 그 경우에만 연산을 하면 된다. 문자열을 뒤집는 방법으로는 for문을 이용한 방법과 StringBuilder의 reverse를 이용한 방법이 있다. String reverse = "";for (int i = .. 2024. 5. 12. [백준] 4256: 트리 - JAVA https://www.acmicpc.net/problem/4256 풀이트리구조의 개념과 재귀를 물어보는 문제였다. 트리의 전위순회, 중위순회한 결과를 알려주고 후위순회한 결과를 찾아야한다. 전위순회: root -> left -> right 중위순회: left -> root -> right 후위순회: left -> right -> root 전위순회에서 맨 앞의 값이 후위순회에서의 맨 마지막 값이 된다. 전위순회의 맨 앞의 값을 중위순회에서 찾아 left그룹과 right그룹으로 나눠 재귀 탐색을 한다. 메모리: 157856KB시간: 644ms언어: Java 11import java.io.*;import java.util.*;public class Main { public static void main.. 2024. 5. 11. 이전 1 다음