-
[๋ฐฑ์ค] 2304 ์ฐฝ๊ณ ๋ค๊ฐํ with PythonPS 2021. 11. 29. 21:14728x90๋ฐ์ํ
๐ BOJ 2304 ์ฐฝ๊ณ ๋ค๊ฐํ
๐ก ์กฐ๊ฑด
๊ธฐ๋ฅ์ ๊ฐ์๋ฅผ ๋ํ๋ด๋ ์ ์
(1 <= N <= 1000)
๊ฐ ๊ธฐ๋ฅ์ ์ผ์ชฝ ๋ฉด์ ์์น๋ฅผ ๋ํ๋ด๋ ์ ์(1 <= L <= 1000)
๊ฐ ๊ธฐ๋ฅ์ ๋์ด๋ฅผ ๋ํ๋ด๋ ์ ์(1 <= H <= 1000)
์ฐฝ๊ณ ๋ค๊ฐํ์ ๋ฉด์ ์ ๊ตฌํ๋ ๋ฌธ์
๋ชจ๋ ๊ธฐ๋ฅ์ด ๋ค์ด๊ฐ๋ ์ฐฝ๊ณ ๋ฅผ ์ง์ผ๋ ค๊ณ ํ ๋, ์ง๋ถ์ด ๋ ์ ์๋ ์กฐ๊ฑด์ ์๋์ ๊ฐ๋ค.
- ์ง๋ถ์ ์ํ ๋ถ๋ถ๊ณผ ์์ง ๋ถ๋ถ์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ๋ชจ๋ ์ฐ๊ฒฐ๋์ด์ผ ํ๋ค.
- ์ง๋ถ์ ์ํ ๋ถ๋ถ์ ๋ฐ๋์ ์ด๋ค ๊ธฐ๋ฅ์ ์๋ฉด๊ณผ ๋ฟ์์ผ ํ๋ค.
- ์ง๋ถ์ ์์ง ๋ถ๋ถ์ ๋ฐ๋์ ์ด๋ค ๊ธฐ๋ฅ์ ์๋ฉด๊ณผ ๋ฟ์์ผ ํ๋ค.
- ์ง๋ถ์ ๊ฐ์ฅ์๋ฆฌ๋ ๋ ์ ๋ฟ์์ผ ํ๋ค.
- ๋น๊ฐ ์ฌ ๋ ๋ฌผ์ด ๊ณ ์ด์ง ์๋๋ก ์ง๋ถ์ ์ด๋ค ๋ถ๋ถ๋ ์ค๋ชฉํ๊ฒ ๋ค์ด๊ฐ ๋ถ๋ถ์ด ์์ด์ผ ํ๋ค.
- ์๋ฃ๊ตฌ์กฐ, ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ์ ํ์ ๋ฌธ์
๐ฅ ์์ค ์ฝ๋
from sys import stdin n = int(stdin.readline()) max_pillar = -1e9 idx = 0 arr = [[] for _ in range(1001)] res = 0 last_idx = 0 for _ in range(n): a, b = map(int, stdin.readline().split()) if max_pillar < b: max_pillar = b idx = a arr[a].append(b) last_idx = max(last_idx, a) part1 = arr[:idx+1] part2 = arr[idx+1:last_idx+1] now = 0 for i in part1: if not i: res += now else: if now > i[0]: res += now else: now = i[0] res += now part2.reverse() now = 0 for i in part2: if not i: res += now else: if now > i[0]: res += now else: now = i[0] res += now print(res)
๐ ์์ ๋ฐ ์คํ๊ฒฐ๊ณผ
์์
7 2 4 11 4 15 8 4 6 5 3 8 10 13 6
์คํ๊ฒฐ๊ณผ
98
โจ๏ธ ๋ฌธ์ ํ์ด
๊ฐ๋จํ๊ฒ ์๊ฐํ๋ฉด ๋งค์ฐ ์ข์ ๋ฌธ์ ์ด๋ค. ๋ฌธ์ ์์ ์ ์๋ ๊ทธ๋ฆผ์์๋ ๋ณด์ด๋ฏ, ๊ธฐ๋ฅ๋ค ์ค์์ ๊ฐ์ฅ ๋์ด ๊ฐ์ด ํฐ ๊ธฐ๋ฅ์ด ์๋ค.
๊ทธ ๊ฐ์ฅ ๋์ด๊ฐ ๋์ ๊ธฐ๋ฅ์ ์ค์ฌ์ผ๋ก ๋๋์ด์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ฉด์ ์ ๊ตฌํ๊ณ , ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก ๋ฉด์ ์ ๊ตฌํด ๋ํ ํ ์ถ๋ ฅํ๋ฉด ๋๋ค.index๋ฅผ ์ ๊ตฌ๋ณํด์ ์จ์ผ ํท๊ธธ๋ฆฌ์ง ์์ ์ ์๋ค.
๐พ ๋๋์
- ํผ์ง ์กฐ๊ธ ์ค๋๋ ๋ฌธ์ ์ด์ง๋ง, ๋ฐ๋ก ๋ฐ์๋ง์ ํ์ด๊ฐ ์๊ฐ์ด ๋ฌ๋ค.
- ์ง๊ธ ์์ค์ฝ๋๋ฅผ ๋ค์ ์์ฑํ๋ค๋ฉด ๋ ๊ฐ๊ฒฐํ๊ณ ์ด์๊ฒ ๊ตฌํํ ์ ์์ ๊ฒ ๊ฐ๋ค.
๋ฐ์ํ'PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 6118 ์จ๋ฐ๊ผญ์ง with Python (0) 2021.12.01 [๋ฐฑ์ค] 2841 ์ธ๊ณ์ธ์ ๊ธฐํ ์ฐ์ฃผ with Python (0) 2021.12.01 [Programmers] ์๋ฌผ์ ์ ์ด์ with Python (0) 2021.11.29 [Programmers] ๊ธฐ๋ฅ๊ณผ ๋ณด ์ค์น with Python (0) 2021.11.28 [Programmers] ํ๋ณดํค with Python (0) 2021.11.27