[ Code Kata ] ๐Ÿคฏ ๐ŸฅตPython #13 ์–‘์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ๊ทธ๋ฆฌ๋“œ(list)์—์„œ ๊ฐ€์žฅ ํ•ฉ์ด ์ž‘์€ ๊ธธ ์ฐพ๊ธฐ!

Haileeยท2020๋…„ 12์›” 16์ผ
0

[ Code Kata ]

๋ชฉ๋ก ๋ณด๊ธฐ
19/28
post-thumbnail

๋งˆ์˜ ๊ตฌ๊ฐ„, ์ˆ˜์š”์ผ์˜ ์œ„์ฝ”๋“œ ์ฝ”๋“œ์นดํƒ€ ์‹œ๊ฐ„!

์šฐ๋ฆฌ๋ผ๋ฆฌ ์žฅ๋‚œ์œผ๋กœ ํ•œ์ฃผ์˜ ์ค‘๊ฐ„์ด๋ผ์„œ ์ˆ˜์š”์ผ ๋ฌธ์ œ๊ฐ€ ์ œ์ผ ์–ด๋ ต๋‹ค๊ณ  ํ•œ ์ ์ด ์žˆ์—ˆ๋Š”๋ฐ, ์•„๋ฌด๋ž˜๋„ ์‚ฌ์‹ค์ธ ๊ฒƒ ๊ฐ™๋‹ค.

๋ฌธ์ œ

์–‘์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ m x n ๊ทธ๋ฆฌ๋“œ๋ฅผ ์ธ์ž๋กœ ๋“œ๋ฆฝ๋‹ˆ๋‹ค.
์ƒ๋‹จ ์™ผ์ชฝ์—์„œ ์‹œ์ž‘ํ•˜์—ฌ, ํ•˜๋‹จ ์˜ค๋ฅธ์ชฝ๊นŒ์ง€ ๊ฐ€๋Š” ๊ธธ์˜ ์š”์†Œ๋ฅผ ๋‹ค ๋”ํ–ˆ์„ ๋•Œ,๊ฐ€์žฅ ์ž‘์€ ํ•ฉ์„ ์ฐพ์•„์„œ return ํ•ด์ฃผ์„ธ์š”.

  • ํ•œ ์ง€์ ์—์„œ ์šฐ์ธก์ด๋‚˜ ์•„๋ž˜๋กœ๋งŒ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Input:
[
   [1,3,1],
   [1,5,1],
   [4,2,1]
]
Output: 7

: 1โ†’3โ†’1โ†’1โ†’1 ์˜ ํ•ฉ์ด ์ œ์ผ ์ž‘์Œ

์ •๋ง ์ดํ•ดํ•ด ๋ณด๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ.. ๋‚œ x, y ์ถ•์œผ๋กœ ์ƒ๊ฐํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์˜ค๋ฉด ๋‡Œ๊ฐ€ ์ •์ง€ํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค
์‚ฌ๊ณ ๋ฅผ ๊ฑฐ๋ถ€ํ•˜๋Š” ๊ธฐ๋ถ„์ด๋ž„๊นŒ...

์šฐ์„  ์ฃผ๋ง์— ๋‹ค์‹œ๋ณด๊ธฐ!


model solution

def minPathSum(grid):
    m = len(grid)
    n = len(grid[0])
    
    for i in range(1, n):
        grid[0][i] += grid[0][i-1]
        
    for i in range(1, m):
        grid[i][0] += grid[i-1][0]
        
    for i in range(1, m):
        for j in range(1, n):
            grid[i][j] += min(grid[i-1][j], grid[i][j-1])
            
    return grid[-1][-1]

์ด์ „์— x, y์ถ•์œผ๋กœ ๋ฉด์  ๊ตฌํ•˜๋Š” ๋ฌธ์ œ๋„ ๊ทธ๋ ‡๊ณ , ์ด๋ ‡๊ฒŒ 3์ฐจ์› ์ ์œผ๋กœ ์ƒ๊ฐํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด ์˜ค๋ฉด ๋จธ๋ฆฌ๊ฐ€ ๊ตณ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

์•„๋ฌดํŠผ, ๋ชจ๋ธ ์†”๋ฃจ์…˜์„ ์ดํ•ดํ•ด๋ณด์ž๋ฉด
์–ด์จŒ๋“  ๋ชจ๋“  ๊ธธ์˜ ์‹œ์ž‘์€ ์ฒซ๋ฒˆ์งธ ๋ฐฐ์—ด์—์„œ ์ด๋ฃจ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์—
๋ฐฐ์—ด ์ „์ฒด์˜ ๊ฐœ์ˆ˜, ์ฒซ๋ฒˆ์งธ ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ตฌํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

profile
์›น ๊ฐœ๋ฐœ ๐Ÿท๐Ÿ˜Ž๐Ÿ‘Š๐Ÿป๐Ÿ”ฅ

0๊ฐœ์˜ ๋Œ“๊ธ€