๐Ÿงฉ Algorithm/SWEA

[SWEA] 1206. [S/W ๋ฌธ์ œํ•ด๊ฒฐ ๊ธฐ๋ณธ] 1์ผ์ฐจ - View (Python/D3)

devCloud 2023. 11. 16. 21:04
728x90
 

SW Expert Academy

SW ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ญ๋Ÿ‰ ๊ฐ•ํ™”์— ๋„์›€์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ•™์Šต ์ปจํ…์ธ ๋ฅผ ํ™•์ธํ•˜์„ธ์š”!

swexpertacademy.com


์„ค๋ช…

์™ผ์ชฝ๊ณผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ฐฝ๋ฌธ์„ ์—ด์˜€์„ ๋•Œ, ์–‘์ชฝ ๋ชจ๋‘ ๊ฑฐ๋ฆฌ 2 ์ด์ƒ์˜ ๊ณต๊ฐ„์ด ํ™•๋ณด๋  ๋•Œ ์กฐ๋ง๊ถŒ์ด ํ™•๋ณด๋œ๋‹ค.
์กฐ๋ง๊ถŒ์ด ํ™•๋ณด๋œ ์„ธ๋Œ€์˜ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•œ๋‹ค.

 

ํ’€์ด

์ฒซ ๋ฒˆ์งธ๋ถ€ํ„ฐ ์ด์ „ 2๋ฒˆ์งธ๊นŒ์ง€์™€ ์ดํ›„ 2๋ฒˆ์งธ๊นŒ์ง€ ๋น„๊ต๋ฅผ ํ•œ๋‹ค. 

๋ฆฌ์ŠคํŠธ 4๊ฐœ ์ค‘(ํ˜„์žฌ ์•„ํŒŒํŠธ ์ฃผ๋ณ€ ์•„ํŒŒํŠธ)์—์„œ max๊ฐ’์„ ์ฐพ๊ณ  ํ˜„์žฌ ์•„ํŒŒํŠธ์™€์˜ ์ฐจ์ด๋ฅผ ์ €์žฅํ•œ๋‹ค.

 

1. ํ˜„์žฌ ์œ„์น˜(i-2)์—์„œ ๋ฐ”๋กœ ์–‘์ชฝ์— ์žˆ๋Š” ์•„ํŒŒํŠธ(i-3, i-1)์™€ ๋†’์ด๋ฅผ ๋น„๊ตํ•œ๋‹ค. 

 

2. ์–‘์ชฝ ์•„ํŒŒํŠธ๊ฐ€ ํ˜„์žฌ ์œ„์น˜๋ณด๋‹ค ๋†’์œผ๋ฉด ๋„˜์–ด๊ฐ€๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๊ฑฐ๋ฆฌ ์ฐจ์ด๊ฐ€ 2์ธ ์•„ํŒŒํŠธ(i-4, i)์™€ ๋†’์ด๋ฅผ ๋น„๊ตํ•œ๋‹ค.

 

3. ์œ„์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ˜„์žฌ ์œ„์น˜๋ณด๋‹ค ๋†’์œผ๋ฉด ๋„˜์–ด๊ฐ€๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋น„๊ตํ•œ ์•„ํŒŒํŠธ๋“ค ์ค‘์— ๋†’์ด๊ฐ€ ๊ฐ€์žฅ ๋†’์€ ๊ฑธ ์ฐพ๋Š”๋‹ค.

4. ํ˜„์žฌ ์œ„์น˜์—์„œ 3๋ฒˆ์—์„œ ๊ตฌํ•œ ์•„ํŒŒํŠธ ๊ธธ์ด์˜ ์ตœ๋Œ“๊ฐ’์„ ๋นผ๊ณ  ๊ฒฐ๊ณผ๊ฐ’์— ๋”ํ•˜๋ฉด์„œ ์ €์žฅํ•œ๋‹ค.

5. n๋งŒํผ ๋ฐ˜๋ณตํ•˜๊ณ  ๋‹ค ํƒ์ƒ‰ํ–ˆ์œผ๋ฉด ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

Solution

for tc in range(1, 11):
    n = int(input())
    apart = list(map(int, input().split()))
    ans = 0
    for i in range(4, n):
        if apart[i-3] >= apart[i-2] or apart[i-1] >= apart[i-2]: #์ผ๋‹จ ๋ฐ”๋กœ ์•ž์˜ ์•„ํŒŒํŠธ๋ถ€ํ„ฐ ํŒ๋ณ„
            continue
        else:
            if apart[i-4] >= apart[i-2] or apart[i] >= apart[i-2]:
                continue
            else:
                max_apart = max(apart[i-4], apart[i-3], apart[i-1], apart[i])
                ans += (apart[i-2] - max_apart)
    print('#'+str(tc), ans)

 

๋‹ค๋ฅธ ํ’€์ด(๋ฐ˜๋ณต๋ฌธ)

for i in range(2, n-2):
        max_apart = max(apart[i-1], apart[i-2], apart[i+1], apart[i+2])
        if apart[i] > max_apart:
            ans += (apart[i] - max_apart)

๐Ÿ‘ฉ‍๐Ÿ’ป ํšŒ๊ณ 

์–ด๋ ค์šธ ์ค„ ์•Œ์•˜๋Š”๋ฐ ์ƒ๊ฐ๋Œ€๋กœ ๊ตฌํ˜„ํ–ˆ๋”๋‹ˆ 1์ฐจ ์ œ์ถœ์— ์„ฑ๊ณตํ–ˆ๋‹ค.

๋‹ค๋ฅธ ํ’€์ด๋ฅผ ๋ณด๋ฉด ์กฐ๊ฑด๋ฌธ์„ ์“ฐ์ง€ ์•Š๊ณ  max๋งŒ์œผ๋กœ ๊ตฌํ˜„์„ ํ•ด์„œ ์ฝ”๋“œ ๊ธธ์ด๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค. 

728x90