[Java] 백준 2342 Dance Dance Revolution / G3
·
백준
문제https://www.acmicpc.net/problem/2342   입/출력입력 수열의 길이가 100000을 넘지 않는다는 것을 알 수 있다.이 문장을 보고 Bottom up dp로 풀어도 되겠다는 생각을 했다.문제 해결 전략문제를 보면 전 단계에 오른쪽/왼쪽 발의 위치에 따라서 다음 단계에서 드는 최소 힘이 결정된다. 즉, 현 단계가 전 단계에 종속되어 있다는 것이다. 이를 보고 dp로 문제 해결을 하고자 했다.(위에 써놓았듯이, 입력 길이가 100000를 넘지 않는다는 점도 dp로 밀고 가도 되겠다는 확신을 주었다.)머릿속에 드는 생각은발의 위치에 따라서 재귀적으로 함수를 호출하고(2^n), memoization을 통해 호출 횟수를 줄이는 dp.단계 별 발이 있어야 하는 위치의 최솟값을 구해가는..
[Java] 백준 2573 빙산 / G4
·
백준
문제https://www.acmicpc.net/problem/2573 입 / 출력입력첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 나타내는 M개의 정수가 한 개의 빈 칸을 사이에 두고 주어진다. 각 칸에 들어가는 값은 0 이상 10 이하이다. 배열에서 빙산이 차지하는 칸의 개수, 즉, 1 이상의 정수가 들어가는 칸의 개수는 10,000 개 이하이다. 배열의 첫 번째 행과 열, 마지막 행과 열에는 항상 0으로 채워진다.출력첫 줄에 빙산이 분리되는 최초의 시간(년)을 출력한다. 만일 빙산이 다 녹을 때까지 분리되지 않으면 0을 출력한다.문제 해결 전략..