[백준] 11055번 가장 큰 증가 부분 수열 자바
문제 11055번: 가장 큰 증가 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수 www.acmicpc.net 문제 풀이 구글링했다. 역시 DP는 너무 어려워.. 어떻게 이런 방법으로 풀 생각을 하지 라고 생각했다.. 알고리즘은 반복문을 돌면서 dp배열에 현재 인덱스까지의 최대 배열 합을 갱신해나가면서 배열을 채우고 가장 큰 값을 반환하면 되는 거였다. 코드에서 의문이었던 점은 현재 i번째의 배열 값과 그 전까지의(j) 배열 값들을 확인하는 반복문에서 i까지의 값이 증가되는 것을 확인하지 않고 그 j의 값 자..
2022. 3. 17.
[백준] 14888번 연산자 끼워넣기 자바
문제 (브루트포스 알고리즘) 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 문제 풀이 사용되는 연산자를 해당 연산자의 인덱스번호를 perm_data에 담는다. 예를 들어 '+'가 1개, 'x'가 2개 이면 perm_data = {0, 2, 2} 이런 식으로 담기게 된다. 이 배열을 조합하여 모든 경우에 해당 되는 연산자 순서를 구하고, 구하는 경우마다 계산결과를 구해 답을 갱신한다. 소스 코드 import java.util.Scanner; public c..
2022. 2. 2.