BOJ

문제 (Gold 1) https://www.acmicpc.net/problem/2233 2233번: 사과나무 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 2,000)이 주어진다. 둘째 줄에는 벌레가 만드는 2×N자리의 이진수가 주어진다. 셋째 줄에는 썩은 사과의 위치를 나타내는 두 정수 X, Y가 주어진다. 이는 2×N자리 www.acmicpc.net 풀이 트리는 어렵다!!!!!!!!!!!!!!!!! 전체 로직 1. parent 배열과 root 배열 채우기 Stack을 이용하여 트리 만들기 이진 배열을 비교하며 삭제하고자 하는 노드의 '실제 인덱스' 구하기 2. 가장 가까운 공통 조상 구하기 parent배열을 사용한 재귀 기저조건: 루트까지 왔을 경우 or 다른 노드가 이미 방문 했던 노드를 방문할 경우 로..
문제 (Silver 1) https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 풀이 아이디어 줄 단위로 더해줌 [ ][ ][ ][ ][ ] [ ][ ][o][o][ ] -> o 부분 합: sum(2,5) - sum(2,2) [ ][ ][o][o][ ] -> o 부분 합: sum(3,5) - sum(3,2) o의 최종 부분 합: ( sum(2,5) - sum(2,2) ) + ( sum(3,5) - sum(3,..
문제 (Silver 3) https://www.acmicpc.net/problem/9996 9996번: 한국이 그리울 땐 서버에 접속하지 총 N개의 줄에 걸쳐서, 입력으로 주어진 i번째 파일 이름이 패턴과 일치하면 "DA", 일치하지 않으면 "NE"를 출력한다. 참고로, "DA"는 크로아티어어로 "YES"를, "NE"는 "NO"를 의미한다. www.acmicpc.net 풀이 문제가 어렵지는 않지만 이해를 잘 해야하는 문제! substring으로 나눌때에 반례가 많으니 이를 잘 체크해주어야 한다. 코드 더보기 package implement; import java.io.*; import java.util.*; public class Main_9996_한국이그리울땐서버에접속하지 { public static ..
문제 (Gold 3) https://www.acmicpc.net/problem/4933 4933번: 뉴턴의 사과 각 테스트 케이스에 대해서, 두 트리가 동등하면 true를, 아니면 false를 출력한다. www.acmicpc.net 풀이 입력 받은 값을 어떻게 트리로 만드느냐를 생각하는 것이 관건. 입력은 포스트오더(후위순회)로 주어진다고 하니 stack을 활용하여 트리 구성 후위순회로 주어진 그래프의 stack 변환 로직 1. 현재 넣으려는 노드(i)가 null이 아니고, 이미 스택에 2개 이상 쌓여있다면 2. 맨 나중에 넣은 노드(stack.pop())가 오른쪽 노드 3. 그 전에 넣은 노드(stack.pop())가 왼쪽 노드 4. right와 left노드의 부모를 현재 노드(i)로 설정 5. 현재 ..
점이
'BOJ' 태그의 글 목록 (4 Page)