일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 재귀
- server
- UE5
- UnReal
- 알고리즘
- dfs
- Unity
- 문자열
- 동적계획법
- 프로그래머스
- DP
- UMG
- uproperty
- Stimuli
- c++
- EffectiveC++
- 유니티
- Widget
- blueprint
- 코테
- 코딩테스트
- 다이나믹프로그래밍
- 언리얼4
- 언리얼
- AIPerception
- 코테연습
- 나나이트
- HTTP
- UE4
- ue4macro
- Today
- Total
목록다이나믹프로그래밍 (2)
공부 기록
문제 설명 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이 가능합니다. 삼각형의 정보가 담긴 배열 triangle이 매개변수로 주어질 때, 거쳐간 숫자의 최댓값을 return 하도록 solution 함수를 완성하세요. 삼각형의 높이는 1 이상 500 이하입니다. 삼각형을 이루고 있는 숫자는 0 이상 9,999 이하의 정수입니다. 문제 풀이 dp 유형의 문제. 처음에 dp배열을 vector로 선언했다가 계속 시간초과가 났는데 2차원 배열로 바꿨더니 간단하게 통과했다. vector는 인덱싱을 지원하지..
2학년때 풀다가 시간초과만 나와서 던졌던 문제인데 오랜만에 재도전 해보았음...ㅋㅋㅋ 문제 설명 n × n의 크기의 대나무 숲이 있다. 욕심쟁이 판다는 어떤 지역에서 대나무를 먹기 시작한다. 그리고 그 곳의 대나무를 다 먹어 치우면 상, 하, 좌, 우 중 한 곳으로 이동을 한다. 그리고 또 그곳에서 대나무를 먹는다. 그런데 단 조건이 있다. 이 판다는 매우 욕심이 많아서 대나무를 먹고 자리를 옮기면 그 옮긴 지역에 그 전 지역보다 대나무가 많이 있어야 한다. 이 판다의 사육사는 이런 판다를 대나무 숲에 풀어 놓아야 하는데, 어떤 지점에 처음에 풀어 놓아야 하고, 어떤 곳으로 이동을 시켜야 판다가 최대한 많은 칸을 방문할 수 있는지 고민에 빠져 있다. 우리의 임무는 이 사육사를 도와주는 것이다. n × n..