BOJ 14719
๐ต๏ธโ๏ธ ๋ฌธ์
2์ฐจ์ ์ธ๊ณ์ ๋ธ๋ก์ด ์์ฌ์๋ค. ๋น๊ฐ ์ค๋ฉด ๋ธ๋ก ์ฌ์ด์ ๋น๋ฌผ์ด ๊ณ ์ธ๋ค.๋น๋ ์ถฉ๋ถํ ๋ง์ด ์จ๋ค. ๊ณ ์ด๋ ๋น๋ฌผ์ ์ด๋์ ์ผ๋ง์ผ๊น?
๐ก ์ ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์๋ 2์ฐจ์ ์ธ๊ณ์ ์ธ๋ก ๊ธธ์ด H๊ณผ 2์ฐจ์ ์ธ๊ณ์ ๊ฐ๋ก ๊ธธ์ด W๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ H, W ≤ 500)
๋ ๋ฒ์งธ ์ค์๋ ๋ธ๋ก์ด ์์ธ ๋์ด๋ฅผ ์๋ฏธํ๋ 0์ด์ H์ดํ์ ์ ์๊ฐ 2์ฐจ์ ์ธ๊ณ์ ๋งจ ์ผ์ชฝ ์์น๋ถํฐ ์ฐจ๋ก๋๋ก W๊ฐ ์ฃผ์ด์ง๋ค.
๋ฐ๋ผ์ ๋ธ๋ก ๋ด๋ถ์ ๋น ๊ณต๊ฐ์ด ์๊ธธ ์ ์๋ค. ๋ 2์ฐจ์ ์ธ๊ณ์ ๋ฐ๋ฅ์ ํญ์ ๋งํ์๋ค๊ณ ๊ฐ์ ํ์ฌ๋ ์ข๋ค.
๐ ์ถ๋ ฅ
2์ฐจ์ ์ธ๊ณ์์๋ ํ ์นธ์ ์ฉ๋์ 1์ด๋ค. ๊ณ ์ด๋ ๋น๋ฌผ์ ์ด๋์ ์ถ๋ ฅํ์ฌ๋ผ.
๋น๋ฌผ์ด ์ ํ ๊ณ ์ด์ง ์์ ๊ฒฝ์ฐ 0์ ์ถ๋ ฅํ์ฌ๋ผ.
๐โ๏ธ ํ์ด๋ณด์~
๋น๋ฌผ์ด ๊ณ ์ด๊ธฐ ์ํด์๋ ๊ธฐ๋ฅ์ด ํ์ํ๋ค.
์ด ๊ธฐ๋ฅ์ด ์ด๋ป๊ฒ ์๊ธฐ๋์ง ์๊ฐํด๋ณด์.
์ ์ฌ์ง๊ณผ ๊ฐ์ด max์ธ 4๋ฅผ ๊ธฐ์ค์ผ๋ก ์ข์ฐ์ ๊ฐ์ฅ ํฐ ๊ฐ์ธ 3๊ณผ 2์ ๊ฐ์ด ์ค์ํจ์ ์ ์ ์๋ค.
์ผ์ชฝ์ 3์ ๊ธฐ์ค์ผ๋ก ๋น๋ฌผ์ด ๋ฐ์์ง๊ณ ์ค๋ฅธ์ชฝ์ 2๋ฅผ ๊ธฐ์ค์ผ๋ก ๋น๋ฌผ์ด ๋ฐ์์ง๊ธฐ ๋๋ฌธ~
๋ ์์ธํ๊ฒ ๋ณด์๋ฉด..
๊ฐ ์๋ฆฌ๋ฅผ i๋ก ๋ณด๊ณ 0๋ถํฐ 7๊น์ง ๋ฒํธ๋ฅผ ๋งค๊ฒผ์ ๋ 2๋ฒ์งธ ๋ธ๋ญ์ ๋ณด์.
i=2๋ฒ์งธ ๋ธ๋ญ์ 2๊ฐ๋ก ์ด ๋ธ๋ญ์ ๊ธฐ์ค์ผ๋ก ๋น๋ฌผ ๊ธฐ๋ฅ์ด ๋์ด์ค ์ข์ฐ์ max ์ซ์๋ฅผ ์ดํด๋ณด๋ฉด 3๊ณผ 4์์ ์ ์ ์๋ค.
์ฌ๊ธฐ์ max์ค ์์ ์๊ฐ ๊ธฐ์ค์ด ๋๊ธฐ ๋๋ฌธ์ 3์ด๋ผ๋ ์ซ์๋ฅผ ์ด์ฉํด์ฃผ๊ฒ ๋๋ค.
์ ๋ฆฌํ์๋ฉด~
- ์์ชฝ์ ๋ ๋์ ๋ธ๋ญ์ด ์กด์ฌํ๋ฉด ๋น๋ฌผ์ด ๊ณ ์
- ๋ฐ๋ณต๋ฌธ์ ๋๋ฉด์ ํ์ฌ์ ๋ธ๋ญ ๊ธฐ์ค left_max์ right_max๋ฅผ ๊ตฌํ๊ณ ์ด ๋ ๊ฐ์ค ์์ ์๋ฅผ ๊ตฌํจ
- ๊ตฌํด์ง ์ - ํ์ฌ ๋ธ๋ญ์ ์ ๊ฐ ๋น๋ฌผ์ด ๋ด๊ธธ ์นธ์๋ค.
- ์ฒซ ๋ธ๋ญ๊ณผ ๋ง์ง๋ง ๋ธ๋ญ์ ๋ณผํ์ ์๋ค. (๊ทธ๋ฆผ๊ณผ ๊ฐ์ ์์๋ฅผ ์ด์ฉํ์๋ฉด, i=0์ผ ๋์ i=7์ผ ๋)
# ๋น๋ฌผ
# ์
๋ ฅ์ ๋ฐ์ ์ค๋ค.
H, W = map(int, input().split())
block = list(map(int, input().split()))
answer = 0
# ๋งจ ์๋ค๋ฅผ ์ ์ธํ for๋ฌธ์ ๋๋ฉด์ ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ์์ ์ต๋๊ฐ์ ์ฐพ๋๋ค.
for i in range(1, W-1):
left_max = max(block[:i]) # ํ์ฌ ๋ธ๋ญ์ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ์์ max ๊ฐ ์ฐพ๊ธฐ
right_max = max(block[i+1:]) # ํ์ฌ ๋ธ๋ญ์ ๊ธฐ์ค์ผ๋ก ์ค๋ฅธ์ชฝ์์ max ๊ฐ ์ฐพ๊ธฐ
m = min(left_max, right_max) #left_max์ right_max ์ค ์์ ๊ฐ์ ๋ณ์์ ๋ด์.
# ํ์ฌ ๋ธ๋ญ์ด ์ง์ ํ ๊ธฐ์ค๊ฐ๋ณด๋ค ์์ผ๋ฉด ๋น๋ฌผ์ด ๊ณ ์ธ๋ค.
if block[i] < m:
answer += m - block[i]
print(answer)
'๐ต๏ธโโ๏ธ > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] BOJ 2606 ๋ฐ์ด๋ฌ์ค (BFS/DFS) (0) | 2021.11.17 |
---|---|
์ฝํ ๋๋น ๋ฐฑ์ค๋ฌธ์ ์ถ์ฒ (0) | 2021.11.05 |
[Python] BOJ 1149 RGB๊ฑฐ๋ฆฌ (dp) (0) | 2021.11.04 |
[BOJ] Python ๋ฐฑ์ค 11650๋ฒ (0) | 2021.08.19 |
[BOJ] Python ๋ฐฑ์ค 2751๋ฒ (0) | 2021.08.16 |