[leetcode][42] Trapping Rain Water
문제 : https://leetcode.com/problems/trapping-rain-water/ 땅의 고도를 나타내는 배열이 주어질 때, 비가 내린 후 가둘 수 있는 물의 양을 구해라. 예시로 주어진 [0,1,0,2,1,0,1,3,2,1,2,1] 을 한 번 살펴보자. 예시의 5 인덱스를 보면 가둘 수 있는 물의 양은 양 옆에 있는 고도가 아닌 인덱스 5를 기점으로 왼쪽에 있는 고도 중 가장 높은 것(leftMax)과 오른쪽에 있는 고도 중 가장 높은 것(rightMax)이 관계가 있다. leftMax와 rightMax를 구했다면 이들 중 더 낮은 고도 - 탐색 중인 고도가 가둘 수 있는 물의 양이다. 인덱스 5를 예로 들면 leftMax = 2(index 3). rightMax = 3(index 7)..
2020. 8. 22.
[테트리스] 19. 블록 회전 개선 (1)
오늘의 이슈. 올게 왔군. 현재 블럭은 4x4 배열이다. 회전시 왼쪽, 시계반대방향으로 블럭이 회전시키자. 1 (0,0) 2 (0,1) 3 (0,2) 4 (0,3) 5 (1,0) 6 (1,1) 7 (1,2) 8 (1,3) 9 (2,0) 10 (2,1) 11 (2,2) 12 (2,3) 13 (3,0) 14 (3,1) 15 (3,2) 16 (3,3) 배열로 표현하면 위와 같은 걸 회전하면 4 (0,0) 8 (0,1) 12 (0,2) 16 (0,3) 3 (1,0) 7 (1,1) 11 (1,2) 15 (1,3) 2 (2,0) 6 (2,1) 10 (2,2) 14 (2,3) 1 (3,0) 5 (3,1) 9 (3,2) 13 (3,3) 위 배열로 바껴야한다. (x, y) -> (size - y, x) 로 변경되는 것을..
2020. 8. 17.