[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ฟ ํ‚ค ๊ตฌ์ž… / ํŒŒ์ด์ฌ
Problem Solving ๐Ÿ”ฅ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ฟ ํ‚ค ๊ตฌ์ž… / ํŒŒ์ด์ฌ

https://programmers.co.kr/learn/courses/30/lessons/49995

์€๊ทผํžˆ ๊นŒ๋‹ค๋กœ์šด ๋ฌธ์ œ์˜€๋‹ค.

๊ฒฐ๊ตญ ๊ณ ๋ฏผ์„ ์–ผ๋งˆ ์•ˆํ•˜๊ณ  ์ •๋‹ต์„ ๋ณด๊ธด ํ–ˆ๋‹ค..

๋‹น์—ฐํžˆ ๋ˆ„์ ํ•ฉ ๋ฌธ์ œ์ธ ์ค„ ์•Œ์•˜๋Š”๋ฐ, ๋ˆ„์ ํ•ฉ์ด๋ผ๊ณ  ๋ณด๊ธฐ๋Š” ์กฐ๊ธˆ ์• ๋งคํ•œ ์ฝ”๋“œ๊ฐ€ ๊ฐ€์žฅ ํšจ์œจ์ ์ธ ์ฝ”๋“œ์˜€๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํˆฌํฌ์ธํ„ฐ์— ๊ฐ€๊น๋‹ค๊ณ  ๋ณด๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค.

ํ’€์ด ๋ฐฉ๋ฒ•์€

ํ•˜๋‚˜์˜ ๊ธฐ์ค€ ์ ์„ ์ •ํ•˜๊ณ , ๋™์ƒ๊ณผ ํ˜•์ด ๊ทธ ๊ธฐ์ค€ ์ ์œผ๋กœ๋ถ€ํ„ฐ ์ญˆ์šฑ ๋”ํ•ด ๋‚˜๊ฐ€๋Š” ๊ฒƒ์ด๋‹ค.

๋™์ƒ์˜ ์ฟ ํ‚ค๊ฐ€ ๋” ๋งŽ์œผ๋ฉด, ํ˜•์˜ ์ฟ ํ‚ค๋ฅผ ์ฆ๊ฐ€

ํ˜•์˜ ์ฟ ํ‚ค๊ฐ€ ๋” ๋งŽ์œผ๋ฉด ๋™์ƒ์˜ ์ฟ ํ‚ค๋ฅผ ์ฆ๊ฐ€.. ๋ฐ˜๋ณตํ•œ๋‹ค.

def solution(cookie):
    answer = 0
    for i in range(len(cookie)-1):
        left, right = i, i+1
        lsum =  rsum = 0
        lflag, rflag = True, True
        while left >= 0 and right < len(cookie):
            if lflag:
                lsum += cookie[left]

            if rflag:
                rsum += cookie[right]

            if lsum == rsum:
                answer = max(answer, lsum)
                left -= 1
                right += 1
                lflag, rflag = True, True

            elif lsum > rsum:
                right += 1
                lflag, rflag = False, True
            else:
                left -= 1
                lflag, rflag = True, False

    return answer