2017/09/12 3

BOJ#2096 내려가기

BOJ#2096 내려가기 * 문제https://www.acmicpc.net/problem/2096 * 풀이메모리 제한이 4MB 입니다. 저는 처음에 재귀 형식으로 풀었다가 바텀업 방식으로 다시 풀었습니다. 또한, [100001][3] 사이즈의 dp배열과 map 배열을 모두 제거하였습니다. 두가지 형태의 코드 모두 아래에 붙여놓았으니 참고하시면 좋겠습니다. * 나의 코드 https://github.com/stack07142/BOJ/blob/458582301c132e9a61af00c77068edac24669619/BOJ%232096/src/Main.java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream..

Algorithm/DP 2017.09.12

BOJ#2294 동전 2

BOJ#2294 동전 2 * 문제https://www.acmicpc.net/problem/2294 * 풀이dp 기본 문제입니다.solve 함수는 크게 3부분으로 구성되어 있습니다. dp 정의dp[coinSum] : 현재 동전의 합이 coinSum일 때, k가 되기 위해 추가해야 하는 동전의 최소 개수solve(coinSum) 함수 : dp[coinSum]을 반환하는 함수. 1. 기저 사례동전의 합이 k에 딱 맞는 경우, return 0동전의 합이 k에 맞지 않는 경우, return 매우 큰 수 if (coinSum == k) return 0; if (coinSum > k) return INF; 2. 메모이제이션 dp 배열의 값을 -1로 초기화 했습니다. 즉, dp[coinSum]이 -1인 경우 메모이제이..

Algorithm/DP 2017.09.12

카카오 모의 테스트 문제(Java)

카카오 모의 테스트 문제(Java) 문제 풀어본거 코드 올려봅니다. 궁금하신 점이나 코드에서 고쳐야할 부분이 있다면 댓글 달아주세요. * 문제 1, 2, 3 : 쉬움* 문제 4, 5, 6, 7 : dp 문제 * 문제 5- 재귀 형태로 풀이 시 (Java) 효율성 테스트 실패, 바텀업 방식으로 풀이 시 효율성 테스트 성공. 두 경우 걸리는 시간은 비슷함.(두가지 방식의 코드 모두 올려놨습니다) - 제가 올린 바텀업 코드에서 메모리를 더 많이 절약할 수 있습니다. dp배열을 [100001][4]로 선언하지 않아도 됩니다. * 문제 7- 문제 7번의 경우에도 재귀 형태로 풀이 시 (Java) 효율성 테스트 실패. 문제 #1/** * 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 sol..

Algorithm/기타 2017.09.12