본문 바로가기

알고리즘 문제 (백준저지)/DP20

[백준/2193] 이친수 (Java/코드) 문제0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다.이친수는 0으로 시작하지 않는다.이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다.예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만 0010101이나 101101은 각각 1, 2번 규칙에 위배되므로 이친수가 아니다.N(1 ≤ N ≤ 90)이 주어졌을 때, N자리 이친수의 개수를 구하는 프로그램을 작성하시오.입력첫째 줄에 N이 주어진다.출력첫째 줄에 N자리 이친수의 개수를 출력한다. 출력코드 1234567891011121314151617181920.. 2018. 11. 20.
[백준/-] 붕어빵 판매하기 문제붕어빵 N개를 가지고 있다.붕어빵 i개를 팔아서 얻을 수 있는 수익이 P[i] 일 때, N개를 모두 판매해서 얻을 수 있는 수익 구하기 출력혜빈이가 얻을 수 있는 최대 수익을 출력한다.문제 풀이 코드문제 풀이 코드d[n] = max ( d[n], d[n-l] + a[l] ) 2018. 11. 20.
[백준/9095] 1, 2, 3 더하기 (Java/코드) 문제정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다.1+1+1+11+1+21+2+12+1+12+21+33+1정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오.입력첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. n은 양수이며 11보다 작다.출력각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. 문제 풀이123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657.. 2018. 11. 20.
[백준/11726] 2xn 타일링 (Java/코드) https://www.acmicpc.net/problem/11726 문제2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다.입력첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)출력첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다. 코드 구현 코-12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849import java.util.*;import java.lang.*;import java.io.*; public class Main { static .. 2018. 11. 20.