본문 바로가기

분류 전체보기144

[Java] 백준 1904번 01타일 https://www.acmicpc.net/problem/1904 1904번: 01타일 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이�� www.acmicpc.net 문제 설명 1과 00 타일로 크기가 N인 2진 수열을 만들 수 있는 가짓수 N은 N ≤ 1,000,00인 자연수 dp [N]은 크기가 N인 2진 수열을 만들 수 있는 가지 수라고 하자. N=1부터 경우의 수를 생각해보자. dp [1] = 1 (1) dp [2] = 2 (11, 00) dp [3] = 3 (111, 100, 001) -> 00 타일은 0 두 개가 붙어 있으므로 000은 만들 수 없다 .. 2020. 6. 5.
[Java] 백준 1520번 내리막 길 https://www.acmicpc.net/problem/1520 1520번: 내리막 길 여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으� www.acmicpc.net import java.util.Scanner; public class Main { static int dp[][]; //경로 개수 static int map[][]; static int M,N; public static void main(String[] args) { Scanner s = new Scanner(System.in); M = s.nextInt(); //세로 N = s.nextInt(); .. 2020. 6. 3.
[Java] 11727번 2×n 타일링 2 https://www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner s= new Scanner(System.in); int N = s.nextInt(); int dp[] = new int[1001]; // (1 ≤ n ≤ 1,000) dp[1]=1; dp[2]=3; for(int i=3;i 2020. 6. 3.
[Java] 백준 1010번 다리 놓기 https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 문제 설명 서쪽의 N개의 사이트와 동쪽의 M개의 사이트를 다리로 연결할 수 있는 경우의 수 구하기 (N ≤ M) 한 사이트에는 최대 한 개의 다리만 연결될 수 있다 다리끼리는 서로 겹쳐질 수 없다 배열 dp[N][M]은 서쪽의 N개의 사이트와 동쪽의 M개의 사이트를 다리로 연결하는 경우의 수를 의미한다. 다리는 서로 겹쳐질 수 없다는 조건이 있으므로 하나의 다리를 고정해놓고 생각해보았다. N=2인.. 2020. 6. 3.
[Java] 백준 1965번 상자넣기 https://www.acmicpc.net/problem/1965 1965번: 상자넣기 정육면체 모양의 상자가 일렬로 늘어서 있다. 상자마다 크기가 주어져 있는데, 앞에 있는 상자의 크기가 뒤에 있는 상자의 크기보다 작으면, 앞에 있는 상자를 뒤에 있는 상자 안에 넣을 수가 �� www.acmicpc.net import java.util.Scanner; public class Main { public static void main(String[] args ) { // LIS Scanner s= new Scanner(System.in); int N = s.nextInt(); int size[] = new int[N+2]; int dp[] = new int[N+2]; int max=0; for(int i=1;i 2020. 6. 3.
[Java] 백준 1049번 기타줄 https://www.acmicpc.net/problem/1049 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주 www.acmicpc.net 문제 설명 N : 끊어진 기타 줄 개수, M : 기타 줄 브랜드 6개의 패키지 가격과 낱개의 가격이 주어질 때 N개의 기타 줄을 사기 위해 필요한 최소 비용 1 2020. 6. 1.