본문 바로가기

분류 전체보기

(157)
[java] 백준/2193 이친수 이친수 1 1 -> 1개 2 10 -> 1개 3 101 100 -> 2개 4 1010 1001 1000 -> 3개 5 10101 10100 10010 10001 10000 -> 5개 6 101010 101001 101001 100101 100100 100010 100001 100000 -> 8개 피보나치수열이랑 동일하게 올라간다 d[n] = d[n-1]+d[n-2]
[java] 백준/11726 2xn타일링 위 문제는 다이나믹 프로그래밍으로 풀 수 있다. d[n] = d[n-1] + d[n-2]
[java] 백준/1149 RGB거리 으.. 필자는 이해자체를 접근을 잘못해서 집의 갯수가 3개인데 3X3으로 생각을 해버리는 불상사.... 뭐 암튼 첫번째 줄엔 첫번째 집의 R,G,B 값이고 두번째 집 R,G,B 세번째 집 R,G,B 값이다... 이것도 결국 다이나믹 프로그래밍으로 풀면 된다. dp[0][0] = 26 =arr[0][0] , dp[0][1] = 40 = arr[0][1] , dp[0][2] = 83 =arr[0][2] dp[1][0] = arr[1][0](49) + Min(dp[0][1],dp[0][2]) , dp[1][1] = arr[1][1](60) +Min(dp[0][0],dp[0][2]) , dp[1][2] = arr[1][2](57) + Min(dp[0][1],dp[0][0]) dp[2][0] = arr[2][0]..
[java] 백준/1003 피보나치 함수 피보나치함수 dp[0]은 0횟수 한번출력 dp[1]은 1횟수 한번출력 dp[2]는 0횟수한번 1횟수한번 3은 위의 dp[2] , dp[1] 경우 ....40보다 작거나 같은 자연수 또는 0이라고 했으니.... 40까지 다구하고 출력만 따로 시키는 식으로 난 작업했다.
[java] 백준/ 9095 1, 2, 3 더하기 이문제는 다이나믹 프로그래밍으로 분류되는 문제다. 1. ...............................+1 =n 인 경우 2. ...............................+2 =n 인 경우 3. ..............................+3 =n 인 경우 d[n]=d[n-1]+d[n-2]+d[n-3] 이렇게 된다. d[0]+d[1]+d[2] 만 따로 구하고 그뒤에는 for문 돌리면 끝난다. d[n] -> n이 될떄까지의 갯수
[java] 백준/1463 1로 만들기 이 문제는 다이나믹으로 분류되어 있는 문제다. 3가지의 경우가 있다 첫번째 경우 d[n] = d[n/3]+1 3으로 나누어 떨어지는 경우 n%3==0 두번쨰경우. d[n] = d[n/2]+1 2로 나누어 떨어지는 경우 n%2 ==0 세번째경우 d[n] = d[n-1]+1 그 외 세개중에 가장 적은 값으로 저장하도록 코딩을 하면 된다.
[java] 백준/2579 계단오르기문제 이 문제의 유형은 다이나믹프로그래밍이다. 다이나믹프로그래밍 문제를 풀때는 규칙을 찾아야하는데 ... 계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다. 즉, 한 계단을 밟으면서 이어서 다음 계단이나, 다음 다음 계단으로 오를 수 있다. 연속된 세 개의 계단을 모두 밟아서는 안 된다. 단, 시작점은 계단에 포함되지 않는다. 마지막 도착 계단은 반드시 밟아야 한다. 세가지 규칙으로 보면 결국 한칸씩 두번을 이동못한다는 얘기다. 1차원 배열과 2차원 배열 두가지로 풀수 있는데 이건 문제푸는 스타일에 맞춰서 푸시면된다. 마지막 도착 계단은 반드시 밟아야 한다...를 인용하면 dp[n] = dp[n-2] + stair[n] or dp[n-3]+stair[n-1]+stair[n] 이렇게 된다. dp[n-2]..
[java] 백준/2775 java 123456789101112131415161718192021222324252627282930import java.io.BufferedReader;import java.io.InputStreamReader; public class Backjun2775 { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); int count = Integer.parseInt(br.readLine()); int arr[][] = new int [15][15]; for..