본문 바로가기

OLD_알고리즘/Baekjoon81

백준] 1912 : 연속합 BOJ에서 다음 문제들을 쭉 순서대로 풀어본다. boj.kr/문제번호 dp[i]) 이렇게 비교해놓고, 엥 왜 틀렸지? 이러고 있었다..ㅎ #include using namespace std; int arr[100001], dp[100001]; int main() { int n, max; cin >> n; for(int i = 0; i > arr[i]; } dp[0] = max = arr[0]; for(int i = 1; i dp[i]){ dp[i] = dp[i - 1] + arr[i]; }else{ dp[i] = arr[i]; } } for(int i = 0; i < n; i++){ if(max < dp[i]){ max = dp[i]; } //cout 2020. 10. 5.
백준] 11054 : 가장 긴 바이토닉 부분 수열 BOJ에서 다음 문제들을 쭉 순서대로 풀어본다. boj.kr/문제번호 Sk+1 > ... SN-1 > SN을 만족한다면, 그 수열을 바이토닉 수열이라고 한다. 예를 들어, {10, 20, 30, 25, 20}과 {10, 20, 30, 40}, {50, 40, 25, 10} 은 바이토닉 수열이지만, {1, 2, 3, 2, 1, 2, 3, 2, 1}과 {10, 20, 30, 40, 20, 30} 은 바이토닉 수열이 아니다. 수열 A가 주어졌을 때, 그 수열의 부분 수열 중 바이토닉 수열이면서 가장 긴 수열의 길이를 구하는 프로그램을 작성하시오. 입력 : 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) 출.. 2020. 9. 24.
백준] 11722 : 가장 긴 감소하는 부분 수열 BOJ에서 다음 문제들을 쭉 순서대로 풀어본다. boj.kr/문제번호 n; for(int i = 0; i > arr[i]; } for(int i = 0; i arr[i]; } for(int i = 0; i < n; i++){ dp[i] = 1; for(int j = 0; j < i; j++){ if(arr[i] < arr[j] && dp[i] 2020. 9. 24.
백준] 11055 : 가장 큰 증가 부분 수열 BOJ에서 다음 문제들을 쭉 순서대로 풀어본다. boj.kr/문제번호 > n; for(int i = 0; i > arr[i]; } for(int i = 0; i arr[j]){ dp[i] = dp[j] + arr[i]; } else if(arr[i] == dp[j]){ dp[i] = arr[i]; } } if(max 큰 값을 찾기 위해 dp[i]의 값과 dp[j] + arr[i]의 값을 비교해야했다. #include using namespace std; int arr[1001], dp[1001];.. 2020. 9. 23.