DP 3

백준 1937번 욕심쟁이 판다

https://www.acmicpc.net/problem/1937 1937번: 욕심쟁이 판다 n*n의 크기의 대나무 숲이 있다. 욕심쟁이 판다는 어떤 지역에서 대나무를 먹기 시작한다. 그리고 그 곳의 대나무를 다 먹어 치우면 상, 하, 좌, 우 중 한 곳으로 이동을 한다. 그리고 또 그곳에서 www.acmicpc.net dfs문제. 엄청 쉽게 생각해서 그냥 풀었더니 시간 초과가 나서 dp 이용해서 풀었다. 역시 그냥풀리면 골드3이 아니지.. 판다는 주변에 나무가 더 많은 곳으로 이동, 며칠 갈 수 있는가? 를 묻는 문제 dfs로 탐색 -> 시간초과 이미 지나온 곳은 어디서 접근하든 결과가 같으므로 테이블에 현재 위치 = 다음 위치 + 1 개만큼 더 갔다는 걸 떠올려서 dp테이블 만들기 (안지나 간 곳?-..

개발/알고리즘 2021.06.20

백준 9465번 스티커

https://www.acmicpc.net/problem/9465 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net 알고리즘 스터디에서 못 풀었던 문제를 dp를 공부하고 나니 이제 풀 수 있었다! 30분 컷! 이제 dp문제를 어떻게 풀어야 할지 감은 잡을 수 있을 것 같다. 근데 실버 2인데 왜 실버 1이었던 RGB거리보다 어렵지?. 스티커를 선택하면 변을 공유하는 다른 스티커들은 사용할 수 없다고 한다. 여기서 생각한 점 왼쪽부터 시작해서 윗줄의 스티커를 선택하면 다음엔 아랫줄의 스티커를 선택하면 ..

개발/알고리즘 2021.06.10

백준 1149번 RGB거리

https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 백준님이 코테에서 dp는 잘 안 나온다고 하셨지만 그래도 dp문제를 잘 못 푼다고 생각해서.. 쉬운 문제를 풀어보았다. 풀면서 DP의 기본은 dp[i] = dp[i-1] + a 라는 것을 알게되었다. (이전값을 통해서 현재값을 계산) 이문제의 경우에는 이전 값을 통해서 다음 값을 계산하기 때문에 굳이 리스트를 통해 dp테이블을 가지고 있을 필요는 없었다. 하지만 dp문제를 접..

개발/알고리즘 2021.06.09