ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

728x90
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋•…๋”ฐ๋จน๊ธฐ

๋•…๋”ฐ๋จน๊ธฐ ๊ฒŒ์ž„์„ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋•…๋”ฐ๋จน๊ธฐ ๊ฒŒ์ž„์˜ ๋•…(land)์€ ์ด Nํ–‰ 4์—ด๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๋ชจ๋“  ์นธ์—๋Š” ์ ์ˆ˜๊ฐ€ ์“ฐ์—ฌ ์žˆ์Šต๋‹ˆ๋‹ค. 1ํ–‰๋ถ€ํ„ฐ ๋•…์„ ๋ฐŸ์œผ๋ฉฐ ํ•œ ํ–‰์”ฉ ๋‚ด๋ ค์˜ฌ ๋•Œ, ๊ฐ ํ–‰์˜ 4์นธ ์ค‘ ํ•œ ์นธ๋งŒ ๋ฐŸ๏ฟฝ๏ฟฝ

programmers.co.kr

 

๋ฌธ์ œ ํ’€์ด

 4์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ๋•…์ด ์ฃผ์–ด์งˆ ๋•Œ, ํ•œ ํ–‰์—์„œ 1์—ด์˜ ๋•…์„ ๋ฐŸ์•˜๋‹ค๋ฉด ๊ทธ๋‹ค์Œ ํ–‰์—์„œ๋Š” 1์—ด์˜ ๋•…์„ ๋ฐŸ์„ ์ˆ˜ ์—†๋‹ค๋Š” ์กฐ๊ฑด์ด ์žˆ๋‹ค. ์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋•…์˜ ๊ฐ’๋“ค์„ ๋ณ€๊ฒฝ์‹œ์ผœ ์คŒ์œผ๋กœ์จ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 ๋‹ค์Œ ๋•…์—์„œ ํš๋“ํ•  ์ˆ˜ ์žˆ๋Š” ์ ์ˆ˜๋Š” ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋‹ค์Œ ๋•…์— ์„ ํƒํ•  ์ธ๋ฑ์Šค๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€์—์„œ ์ตœ๋Œ€ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜์—ฌ ๋”ํ•ด์ฃผ๋ฉด๋œ๋‹ค. ์ด๋Ÿฐ์‹์œผ๋กœ ๊ฐ’์„ ์ค‘์ฒฉํ•ด ๋‚˜์•„๊ฐ€๋ฉด 16์ด๋ผ๋Š” ์ตœ๋Œ€๊ฐ’์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

์ฝ”๋“œ

def solution(land):
    for i in range(len(land) - 1):
        for j in range(4):
            diff = [num for num in range(4)]
            diff.remove(j)
            land[i + 1][j] += \
                max(land[i][diff[0]], land[i][diff[1]], land[i][diff[2]])

    return max(land[-1])
728x90
๋ฐ˜์‘ํ˜•
๋Œ“๊ธ€
๊ธ€ ๋ณด๊ด€ํ•จ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€