[백준 *Java] - 연속합 (1912)
연속합 문제보기 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 설명 n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야한다. 예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 이라는 수열이 주어졌다고 하자. 여기서 정답은 12 + 21인 33이 정답이된다. 입력 첫째 줄에 정수n (1 max ? accumulate : max; } DP[i] = max; } Sys..
2022. 3. 22.
[백준 *Java] - 가장 긴 증가하는 부분 수열 (11053)
가장 긴 증가하는 부분 수열 문제보기 문제 설명 수열 A 가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 ? {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다. {10, 20, 30, 50} 입력 첫째 줄에 수열 A의 크기 N(1
2022. 3. 21.
[백준 *Java] - 이친수 (2193)
문제 설명 0과 1로 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 1. 이친수는 0으로 시작하지 않는다. 2. 이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지않는다. 예를 들면, 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만, 0010101 이나 101101은 각각 1, 2번 규칙에 위배되므로 이친수가 아니다. N(1
2022. 3. 21.