문제 링크

요약

최종

class Solution {
public:
	int minPathSum(vector<vector<int>>& grid) {
		int m = grid.size();
		int n = grid[0].size();
 
		for (int ni = 1; ni < n; ni++) {
			grid[0][ni] += grid[0][ni - 1];
		}
 
		for (int mi = 1; mi < m; mi++) {
			grid[mi][0] += grid[mi - 1][0];
 
			for (int ni = 1; ni < n; ni++) {
				grid[mi][ni] += min(grid[mi - 1][ni], grid[mi][ni - 1]);
			}
		}
 
		return grid[m - 1][n - 1];
	}
};