반응형

dp 7

[백준 BOJ 1912번] 연속합(C / C++ ) [DP, 다이나믹프로그래밍]

ㅂ1912번: 연속합 (acmicpc.net) 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1초(추가시간없음) 128MB 83585 26601 18375 30.866% 문제 n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다. 예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 이라는 수열이 주어졌다고 하자. 여기서 정답은 12+21인 33이 정답이 된다. 입력 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수..

백준 2021.06.25

[백준 BOJ 11057번] 오르막 수(C / C++ ) [DP, 다이나믹 프로그래밍]

11057번: 오르막 수 (acmicpc.net) 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1초 256MB 29473 14252 10971 47.175% 문제 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수의 길이 N이 주어졌을 때, 오르막 수의 개수를 구하는 프로그램을 작성하시오. 수는 0으로 시작할 수 있다. 입력 첫째 줄에 N (1 ≤ N ≤ 1,000)이 주어진다. 출력 첫째 줄에 길이가 N인 오르막 수의 개수를 10,007로 나눈 나머지를 출력한다. 예제 입력 1 2 3 예제 출력 10 55 220 코드 ..

백준 2021.03.23

[백준 BOJ 15998번] 1, 2, 3 더하기 3 (C / C++ ) [DP, 다이나믹프로그래밍]

15988번: 1, 2, 3 더하기 3 (acmicpc.net) 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1초(추가 시간 없음) 512 MB 10235 3788 2793 36.062% 더보기 백준 1, 2, 3 더하기 3 다이나믹프로그래밍 DP C언어 C++ 알고리즘 문제 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. n은 양수이..

백준 2021.03.19

[백준 BOJ 14495번] 피보나치 비스무리한 수열 (C / C++ ) [DP, 다이나믹 프로그래밍]

14495번: 피보나치 비스무리한 수열 (acmicpc.net) 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 2초 512MB 1865 1002 909 55.630% 문제 피보나치 비스무리한 수열은 f(n) = f(n-1) + f(n-3)인 수열이다. f(1) = f(2) = f(3) = 1이며 피보나치 비스무리한 수열을 나열하면 다음과 같다. 1, 1, 1, 2, 3, 4, 6, 9, 13, 19, ... 자연수 n을 입력받아 n번째 피보나치 비스무리한 수열을 구해보자! 입력 자연수 n(1n; for(int i=3;i

백준 2021.03.10

[백준 BOJ 15624번] 피보나치 수 7 (C / C++ ) [DP, 다이나믹 프로그래밍]

1564번: 피보나치 수 7 (acmicpc.net) 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1초 (추가 시간 없음) 512MB 1488 731 595 57.322% 문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n이 주어진다. n은 1..

백준 2021.03.10

[백준 BOJ 1309번] 동물원 (C / C++ ) [DP, 다이나믹 프로그래밍]

1309번: 동물원 (acmicpc.net) 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 2초 128MB 13927 7115 5606 49.180% 문제 어떤 동물원에 가로로 두칸 세로로 N칸인 아래와 같은 우리가 있다. 이 동물원에는 사자들이 살고 있는데 사자들을 우리에 가둘 때, 가로로도 세로로도 붙어 있게 배치할 수는 없다. 이 동물원 조련사는 사자들의 배치 문제 때문에 골머리를 앓고 있다. 동물원 조련사의 머리가 아프지 않도록 우리가 2*N 배열에 사자를 배치하는 경우의 수가 몇 가지인지를 알아내는 프로그램을 작성해 주도록 하자. 사자를 한 마리도 배치하지 않는 경우도 하나의 경우의 수로 친다고 가정한다. 입력 첫째 줄에 우리의 크기 N(1≤N≤100,000)이 주어진다. 출력 첫째 줄..

백준 2021.03.08

[백준 BOJ 9655번] 돌 게임 (C++ ) [DP, 다이나믹 프로그래밍]

9655번: 돌 게임 (acmicpc.net) 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1초 128MB 7847 5119 4513 66.731% 문제 돌 게임은 두 명이서 즐기는 재밌는 게임이다. 탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이기게 된다. 두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다. 입력 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000) 출력 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. 예제 입력 1 5 예제 출력 1 SK 풀이 이게 DP로 풀 문제인가 싶다. 짝수..

백준 2021.03.06
반응형