[Java] BOJ 10942 - 팰린드롬?
Problem Solving/Baekjoon Online Judge (BOJ)2025. 5. 8. 15:12[Java] BOJ 10942 - 팰린드롬?

01. 🔎 문제 탐색N: 수열의 크기 $(1 \leq N \leq 2,000)$(각 원소는 100,000보다 작거나 같은 자연수)M: 질문의 개수 $(1 \leq M \leq 1,000,000)$S, E: 팰린드롬인지 판단할 부분 수열의 범위01-1. 알고리즘 선택 & 시간 복잡도각 범위에 대하여 양 끝을 제외한 부분수열이 팰린드롬인지 판단하고 양 끝을 비교하는 것으로 팰린드롬인지 알 수 있음-> 따라서, 이전 결과를 다음 결과에 이용하므로 DP로 풀 수 있음예시로 S=1 E=5가 주어지고 S의 원소와 E의 원소가 같을 때 S+1, E-1의 부분수열이 팰린드롬이면 S, E의 부분수열 또한 팰린드롬이다.이중 for문을 통해 모든 경우의 수를 구할 수 있으므로, 시간 복잡도 $O(N^2)$에 지배02. ?..

[Java] BOJ 1005 - ACM Craft
Problem Solving/Baekjoon Online Judge (BOJ)2025. 4. 29. 14:41[Java] BOJ 1005 - ACM Craft

01. 🔎 문제 탐색매 게임시작 시 건물을 짓는 순서가 주어짐(각 게임마다 건물을 짓는 순서가 다를 수 있음)모든 건물은 각각 건설을 시작(다음 건물은 선행 건물이 모두 완성되어야 건설 시작 가능)N: 건물의 개수K: 건설 순서 규칙의 개수$D_1, D_2, ..., D_N$: 1~N번 건물의 건설에 걸리는 시간X, Y: X건물이 선행되어야 Y건물을 건설할 수 있음W: 목표 건물목표 W번 건물이 건설완료 하는데 드는 최소 시간을 출력01-1. 알고리즘 선택 & 시간 복잡도시작 건물과 건물을 짓는 순서가 게임마다 바뀌므로, 위상 정렬을 이용하여 주어지는 건설 순서로 탐색을 진행이전 건물 건설에 걸린 최대 시간이 다음 건물 건설 시작 시작에 영향을 받으므로, DP를 이용하여 이를 구현02. 📝 코드 설계..

[C++] BOJ 2515 - 전시장
Problem Solving/Baekjoon Online Judge (BOJ)2025. 4. 24. 18:09[C++] BOJ 2515 - 전시장

BOJ 2515 - 전시장 01. 🔎 문제 탐색N: 그림의 개수 $(1 \leq N \leq 300,000)$S: 판매가능해지는 보이는 부분의 세로 길이 H, C: (그림의 높이, 그림의 가격) $(1 \leq S \leq H \leq 300,000)$, $(1 \leq C \leq 1,000)$01-1. 가능한 시간 복잡도그림의 개수가 최대 300,000개로 시간 복잡도 $O(N log N)$ 이하로 구현되어야 함01-2. 알고리즘 선택높이가 오름차순으로 정렬된 그림 리스트에서 i번째 그림까지 최대 가격을 저장하고, 각 그림에 대해 이후에 등장할 그림의 높이가 S 만큼 차이가 날 경우, 이전에 저장된 최대 가격을 이용하여 누적 계산할 수 있으므로, DP를 이용각 i번째 그림에 대해 S만큼 차이..

image