DP

    [백준]1932번 정수 삼각형 - Java

    [백준]1932번 정수 삼각형 - Java

    문제 https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 풀이 전에 비슷한 문제를 풀어봤던 것 같다! 암튼 그래서 쉽게 풀었음 ㅎㅎ 동적계획법 문제가 나오면 평소처럼 생각하지 말고 거꾸로 생각하거나 밑에서부터 계산해보거나 처음 결과를 가지고 다음 계산에 이용한다거나 등의 접근 방식이 필요하다 이 문제에서는 위에서 아래 층으로 내려온다고 나와있지만 밑에서 부터 올라가는 식으로 계산을 하면 어떨까... 하는 생각으로 풀었다! 자세한건 주석으로! 코드 // 1932번 정수 삼각형 // https://www.acmicpc.ne..

    [백준]2502번 떡 먹는 호랑이 - Java

    [백준]2502번 떡 먹는 호랑이 - Java

    문제 https://www.acmicpc.net/problem/2502 2502번: 떡 먹는 호랑이 첫줄에 첫 날에 준 떡의 개수 A를 출력하고 그 다음 둘째 줄에는 둘째 날에 준 떡의 개수 B를 출력한다. 이 문제에서 주어진 D, K에 대해서는 항상 정수 A, B (1≤ A ≤ B)가 존재한다. www.acmicpc.net 풀이 피보나치 수열을 응용한 문제임 피보나치나 뭐 파도반 수열인가 이런거처럼 메모리가 초과될 위험이 있을 것 같다? 그럼 문제의 조건이나 문제를 잘 읽어서 대충이라도 시간복잡도를 계산해보고 괜찮겠다 싶으면 해야된다. 안 괜찮으면 DP 등으로 풀어야 됨. 이 문제는 순열에다가 피보나치 수열이라서 가지치기와 DP로 어떻게 푸냐가 포인트임! 3

    [백준]2579번 계단 오르기 - Java

    [백준]2579번 계단 오르기 - Java

    문제 https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 풀이 1로 만들기 같은 유형의 DP 문제이다. https://seokmimmmmmmmm.tistory.com/82 [백준]1463번 1로 만들기 - Java 문제 https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 풀이 흔한 DP 유형의 문제임 하향식, 상향식 ..

    [백준]14501번 퇴사 - Java

    [백준]14501번 퇴사 - Java

    문제 https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 풀이 DP 문제임. 1차원 정답 배열(dp)를 만들어서 풀었음 하루가 지날 때마다 최댓값을 dp 배열에 갱신해주는게 포인트 ! 아직 헷갈려서 담에 한번 더 풀어봐야겠음 T, P, dp 배열을 N+6으로 크기를 설정해준 이유는 [맨처음 0번 인덱스 + (1 ≤ Ti ≤ 5)] 이거 때문이다. 코드 // 14501번 퇴사 // https://www.acmicpc.net/problem/14501 package BAEKJOON; import java.io.BufferedReader; import java.io.IOException; i..

    [SWExpertAcademy]3307번 최장 증가 부분 수열 - Java

    [SWExpertAcademy]3307번 최장 증가 부분 수열 - Java

    문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWBOKg-a6l0DFAWr SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 유명한 DP 문제 유형이라고 한다. DP말고 부분 집합으로도 풀 수 있다. 하나하나 첨부터 끝까지 부분집합을 만들어서 가장 긴 증가하는 부분 수열을 뽑아내도 되는데 그렇게 하면 O(2^N)의 시간 복잡도가 소요된다. 개오래 걸리는거지 미친거지 그니깐 물론 뭐 공집합부터 탐색하는게 아니라 전체집합부터 탐색하면 조금 더 빨리 찾을 수는 있겠지만,,, 그니까 부분 집합말고 DP로 풀어야 시간 ..