본문 바로가기
728x90

Baekjoon/[Code.plus] 알고리즘 기초 1/269

[BOJ/백준] 13398 연속합 2 ● [문제번호 13398] 연속합 2 https://www.acmicpc.net/problem/13398 13398번: 연속합 2 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net ● 알아야 할 것 : 다이나믹 프로그래밍 ● 풀이 과정 : 1912 연속합 문제를 참고해서 풀려다가 뭔가 꼬이는 바람에 구글링을 했는데 간단하게 풀 수 있던 문제였다. : DP 풀이과정 (Bottom - Up) 1. 테이블 정의하기 → dp[0][index] : index까지 수열의 연속합 (수열에서 0개 제거) dp[1][index] : index까지 수열의 연.. 2021. 8. 5.
[BOJ/백준] 11054 가장 긴 바이토닉 부분 수열 ● [문제번호 11054] 가장 긴 바이토닉 부분 수열 https://www.acmicpc.net/problem/11054 11054번: 가장 긴 바이토닉 부분 수열 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net ● 알아야 할 것 : 다이나믹 프로그래밍 ● 풀이 과정 : 11055 가장 큰 증가 부분 수열 과 11722 가장 긴 감소하는 부분 수열 의 문제를 섞었다. : 처음에 증가하는 부분 수열을 구하고 2번째에 감소하는 부분 수열로 연결하면 된다. : DP 풀이과정 (Bottom - Up) 1. 테이블 정의하기 → dp[index] : index까지 수열의 감소 부분.. 2021. 8. 5.
[BOJ/백준] 11722 가장 긴 감소하는 부분 수열 ● [문제번호 11722] 가장 긴 감소하는 부분 수열 https://www.acmicpc.net/problem/11722 11722번: 가장 긴 감소하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} www.acmicpc.net ● 알아야 할 것 : 다이나믹 프로그래밍 ● 풀이 과정 : 11055 가장 큰 증가 부분 수열 문제에서 조금만 수정하면 된다. : DP 풀이과정 (Bottom - Up) 1. 테이블 정의하기 → dp[index] : index까지 수열의 감소 부분 수열의 길이 2. 점.. 2021. 8. 5.
[BOJ/백준] 11055 가장 큰 증가 부분 수열 ● [문제번호 11055] 가장 큰 증가 부분 수열 https://www.acmicpc.net/problem/11055 11055번: 가장 큰 증가 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수 www.acmicpc.net ● 알아야 할 것 : 다이나믹 프로그래밍 ● 풀이 과정 : 풀리는데 계속 반례에 걸려서 반례를 검색 및 수정 후 정답을 받았다. : 반례 {2 1 5 6 7} 반례의 정답 20 틀리게 나온 답 19 : DP 풀이과정 (Bottom - Up) 1. 테이블 정의하기 → dp[index] : .. 2021. 8. 5.
728x90