알고리즘106 [백준] 1788번 : 피보나치 수의 확장 – JAVA [자바] https://www.acmicpc.net/problem/1788 1788번: 피보나치 수의 확장 첫째 줄에 F(n)이 양수이면 1, 0이면 0, 음수이면 -1을 출력한다. 둘째 줄에는 F(n)의 절댓값을 출력한다. 이 수가 충분히 커질 수 있으므로, 절댓값을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 문제 문제 풀이 백준 1788번 피보나치 수의 확장은 DP, 그중에서도 피보나치를 이용해서 푸는 문제이다. 이 문제의 조금 다른 점은 바로 피보나치의 확장, 즉 음수 n이 주어졌을 때도 이 음수 n의 피보나치 값을 구해야 한다는 것이다. 이 문제는 그렇게 어렵지 않다. 일반 피보나치와 거의 똑같은 문제이다. 피보나치는 다음과 같다 F(0) = 0 F(1) = 1; F.. 2022. 4. 7. [백준] 11053번 : 가장 긴 증가하는 부분 수열 – JAVA [자바] https://www.acmicpc.net/problem/8394 8394번: 악수 첫째 줄에 회의에 참석한 사람의 수 n (1 ≤ n ≤ 10,000,000)이 주어진다. www.acmicpc.net 문제 문제 풀이 백준 8394번 악수는 실버 4 난이도의 DP를 이용해서 푸는 문제이다. 이 직사각형 탁자가 하나 있고 사람들 n명은 한 면에 앉아 있는다. n명이 자리를 벗어나지 않고 악수를 하는 방법의 수를 구해주면 된다. 예시를 보면서 이 문제를 풀어보겠다. n = 1: 1명이 있으면 악수를 아무와도 못 하므로 방법은 1가지다. n = 2: 2명이 있으면 악수를 안 하는 거 하나, 악수를 하는 거 하나, 총 2가지다. 줄은 악수를 의미한다. n = 3 : 3명이 있으면 밑에 있는 사진처럼 3가지 방법.. 2022. 4. 6. [백준] 2670번 : 연속부분최대곱 – JAVA [자바] https://www.acmicpc.net/problem/2670 2670번: 연속부분최대곱 첫째 줄은 나열된 양의 실수들의 개수 N이 주어지고, 그 다음 줄부터 N개의 수가 한 줄에 하나씩 들어 있다. N은 10,000 이하의 자연수이다. 실수는 소수점 첫째자리까지 주어지며, 0.0보다 크거나 www.acmicpc.net 문제 문제 풀이 백준 2670번 연속부분최대곱 문제는 DP를 이용한 실버 4 난이도의 문제이다. 이 문제는 정답 비율이 35.866% (2022년 4월 5일 기준)으로 실버 4 난이도의 문제 치고는 낮은 편이다. 내가 생각했을 때는 아마도 소수점을 셋째 자리까지 반올림하고 출력하는 부분에서 사람들이 많이 틀리지 않나 싶다. 나도 처음에는 여기서 틀렸었다. 이번 문제는 1차원 dp .. 2022. 4. 6. [백준] 10211번 : Maximum Subarray – JAVA [자바] https://www.acmicpc.net/problem/10211 10211번: Maximum Subarray 크기 N인 정수형 배열 X가 있을 때, X의 부분 배열(X의 연속한 일부분) 중 각 원소의 합이 가장 큰 부분 배열을 찾는 Maximum subarray problem(최대 부분배열 문제)은 컴퓨터 과학에서 매우 잘 알려져 있 www.acmicpc.net 문제 문제 풀이 백준 10211번 Maximum Subarray는 주어진 배열에서 연속되는 부분 배열중에 가장 큰 합을 출력하는 문제다. 이 문제는 DP를 이용해서 푸는 문제인데 DP 이론이 조금 부족하면 밑에 있는 링크를 참고하면 되겠다. https://propercoding.tistory.com/4 [알고리즘] 다이나믹 프로그래밍 (Dyn.. 2022. 4. 3. 이전 1 ··· 15 16 17 18 19 20 21 ··· 27 다음 반응형