[๋ฐฑ์ค€] ๋น—๋ฌผ / 14719๋ฒˆ / ํŒŒ์ด์ฌ / Python / ๊ตฌํ˜„ / ์‹œ๋ฎฌ๋ ˆ์ด์…˜
Algorithm/Baekjoon

[๋ฐฑ์ค€] ๋น—๋ฌผ / 14719๋ฒˆ / ํŒŒ์ด์ฌ / Python / ๊ตฌํ˜„ / ์‹œ๋ฎฌ๋ ˆ์ด์…˜

728x90
๋ฐ˜์‘ํ˜•

๐Ÿ’กsolutions )

๐Ÿ’ฌ ๊ธฐ๋ณธ์ ์ธ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋ฌธ์ œ

๐Ÿ’ฌ for๋ฐ˜๋ชฉ๋ฌธ์„ ๋Œ๋ฉฐ ๊ฐ€์žฅ ๋†’์€ ๋ธ”๋ก์˜ ๋†’์ด(max_height)์™€ ์ธ๋ฑ์Šค(max_index)๋ฅผ ์ €์žฅํ•ด๋‘๊ณ ,  ๋ธ”๋ก๋“ค์˜ ์ „์ฒด ๋†’์ด์˜ ํ•ฉ์„ ์ €์žฅํ•œ๋‹ค(block_sum)

๐Ÿ’ฌ ์™ผ์ชฝ ๋์—์„œ๋ถ€ํ„ฐ max_index๊นŒ์ง€(์ขŒ์—์„œ ์šฐ→) ๊ทธ๋ฆฌ๊ณ  ์˜ค๋ฅธ์ชฝ ๋๋ถ€ํ„ฐ max_index๊นŒ์ง€ (์šฐ์—์„œ ์ขŒ←) ํƒ์ƒ‰ํ•˜์—ฌ ๋ธ”๋ก์˜ ๋†’์ด๋ฅผ ๋น„๊ตํ•˜์—ฌ ๊ฐ€์žฅ ๋†’์€ ๋ธ”๋ก์˜ ์œ„์น˜๊ฐ’(tmp)์„ total์— ๋”ํ•ด์ค€๋‹ค.

๐Ÿ’ฌ ๋งˆ์ง€๋ง‰์— total๊ฐ’์—์„œ ์ „์ฒด ๋ธ”๋ก๋“ค์˜ ๋†’์ด์˜ ํ•ฉ์ธ block_sum์„ ๋นผ์ฃผ๋ฉด ๊ณ ์ด๋Š” ๋น—๋ฌผ์˜ ์ด๋Ÿ‰์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

๐Ÿ‘จ‍๐Ÿ’ปcode )

import sys

input = sys.stdin.readline
h, w = map(int, input().split())
block = list(map(int, input().rstrip().split(' ')))
max_height, max_index, block_sum = 0, 0, 0
for i in range(w):
    block_sum += block[i]
    if max_height < block[i]:
        max_height =block[i]
        max_index = i

total = 0
tmp = 0
# ์™ผ์ชฝ์—์„œ ๊ฐ€์žฅ ๋†’์€ ๋ธ”๋ก๊นŒ์ง€
for i in range(max_index + 1):
    if tmp <block[i]:
        tmp =block[i]
    total += tmp
tmp = 0
# ์˜ค๋ฅธ์ชฝ์—์„œ ๊ฐ€์žฅ ๋†’์€ ๋ถˆ๋ก๊นŒ์ง€(๋†’์€ ๋ธ”๋ก์€ ๋ฒ”์œ„์—์„œ ์ œ์™ธ)
for i in range(w-1, max_index, -1):
    if tmp < block[i]:
        tmp =block[i]
    total += tmp

print(total-block_sum)

 

๐Ÿ“Œdescription )

 

14719๋ฒˆ: ๋น—๋ฌผ

์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” 2์ฐจ์› ์„ธ๊ณ„์˜ ์„ธ๋กœ ๊ธธ์ด H๊ณผ 2์ฐจ์› ์„ธ๊ณ„์˜ ๊ฐ€๋กœ ๊ธธ์ด W๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ H, W ≤ 500) ๋‘ ๋ฒˆ์งธ ์ค„์—๋Š” ๋ธ”๋ก์ด ์Œ“์ธ ๋†’์ด๋ฅผ ์˜๋ฏธํ•˜๋Š” 0์ด์ƒ H์ดํ•˜์˜ ์ •์ˆ˜๊ฐ€ 2์ฐจ์› ์„ธ๊ณ„์˜ ๋งจ ์™ผ์ชฝ ์œ„์น˜

www.acmicpc.net


๋ฌธ์ œ

2์ฐจ์› ์„ธ๊ณ„์— ๋ธ”๋ก์ด ์Œ“์—ฌ์žˆ๋‹ค. ๋น„๊ฐ€ ์˜ค๋ฉด ๋ธ”๋ก ์‚ฌ์ด์— ๋น—๋ฌผ์ด ๊ณ ์ธ๋‹ค.

๋น„๋Š” ์ถฉ๋ถ„ํžˆ ๋งŽ์ด ์˜จ๋‹ค. ๊ณ ์ด๋Š” ๋น—๋ฌผ์˜ ์ด๋Ÿ‰์€ ์–ผ๋งˆ์ผ๊นŒ?

์ž…๋ ฅ

์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” 2์ฐจ์› ์„ธ๊ณ„์˜ ์„ธ๋กœ ๊ธธ์ด H๊ณผ 2์ฐจ์› ์„ธ๊ณ„์˜ ๊ฐ€๋กœ ๊ธธ์ด W๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ H, W ≤ 500)

๋‘ ๋ฒˆ์งธ ์ค„์—๋Š” ๋ธ”๋ก์ด ์Œ“์ธ ๋†’์ด๋ฅผ ์˜๋ฏธํ•˜๋Š” 0์ด์ƒ H์ดํ•˜์˜ ์ •์ˆ˜๊ฐ€ 2์ฐจ์› ์„ธ๊ณ„์˜ ๋งจ ์™ผ์ชฝ ์œ„์น˜๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ W๊ฐœ ์ฃผ์–ด์ง„๋‹ค.

๋”ฐ๋ผ์„œ ๋ธ”๋ก ๋‚ด๋ถ€์˜ ๋นˆ ๊ณต๊ฐ„์ด ์ƒ๊ธธ ์ˆ˜ ์—†๋‹ค. ๋˜ 2์ฐจ์› ์„ธ๊ณ„์˜ ๋ฐ”๋‹ฅ์€ ํ•ญ์ƒ ๋ง‰ํ˜€์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์—ฌ๋„ ์ข‹๋‹ค.

์ถœ๋ ฅ

2์ฐจ์› ์„ธ๊ณ„์—์„œ๋Š” ํ•œ ์นธ์˜ ์šฉ๋Ÿ‰์€ 1์ด๋‹ค. ๊ณ ์ด๋Š” ๋น—๋ฌผ์˜ ์ด๋Ÿ‰์„ ์ถœ๋ ฅํ•˜์—ฌ๋ผ.

๋น—๋ฌผ์ด ์ „ํ˜€ ๊ณ ์ด์ง€ ์•Š์„ ๊ฒฝ์šฐ 0์„ ์ถœ๋ ฅํ•˜์—ฌ๋ผ.




๋ฐ˜์‘ํ˜•