-
[๋ฐฑ์ค] 2477 ์ฐธ์ธ๋ฐญ with PythonPS 2022. 2. 14. 18:20728x90๋ฐ์ํ
๐ BOJ 2477 ์ฐธ์ธ๋ฐญ
๐ก ์กฐ๊ฑด
m2์ ๋์ด์ ์๋ผ๋ ์ฐธ์ธ์ ๊ฐ์๋ฅผ ๋ํ๋ด๋ ์์ ์ ์ K (1 โค K โค 20)
์ฐธ์ธ๋ฐญ์ ๋ํ๋ด๋ ์ก๊ฐํ์ ์์์ ํ ๊ผญ์ง์ ์์ ์ถ๋ฐํ์ฌ
๋ฐ์๊ณ๋ฐฉํฅ์ผ๋ก ๋๋ ๋ฅผ ๋๋ฉด์ ์ง๋๋ ๋ณ์ ๋ฐฉํฅ๊ณผ ๊ธธ์ด (1 ์ด์ 500 ์ดํ์ ์ ์)๋ณ์ ๋ฐฉํฅ์์ ๋์ชฝ์ 1, ์์ชฝ์ 2, ๋จ์ชฝ์ 3, ๋ถ์ชฝ์ 4๋ก ๋ํ๋ธ๋ค.
์ฐธ์ธ๋ฐญ์ ใฑ-์ ๋ชจ์์ด๊ฑฐ๋ ใฑ-์๋ฅผ 90๋, 180๋, 270๋ ํ์ ํ ๋ชจ์(โ, โ, โ ๋ชจ์)์ ์ก๊ฐํ์ด๋ค.
๊ตฌํ ์ ํ์ ๋ฌธ์
๐ฅ ์์ค ์ฝ๋
from sys import stdin n = int(stdin.readline()) nums = [] x, y = [], [] for _ in range(6): direction, length = map(int, stdin.readline().split()) nums.append(length) if direction == 1 or direction == 2: x.append(length) else: y.append(length) max_x = max(x) max_y = max(y) xi = nums.index(max_x) yi = nums.index(max_y) if xi + 1 >= 6: x = abs(nums[xi - 1] - nums[0]) else: x = abs(nums[xi - 1] - nums[xi + 1]) if yi + 1 >= 6: y = abs(nums[yi - 1] - nums[0]) else: y = abs(nums[yi - 1] - nums[yi + 1]) print(((max_x * max_y) - (x * y)) * n)
๐ ์์ ๋ฐ ์คํ๊ฒฐ๊ณผ
์์
7 4 50 2 160 3 30 1 60 3 20 1 100
์คํ๊ฒฐ๊ณผ
47600
โจ๏ธ ๋ฌธ์ ํ์ด
6๊ฐ์ ๋ฐฉํฅ๊ณผ ๋ณ์ ๊ธธ์ด๋ฅผ ๊ฐ๊ฐ direction, length ๋ผ๋ ๋ณ์์ ์ ๋ ฅ๋ฐ๋๋ค
๋์์, ๋ณ์ ๊ธธ์ด๋ nums ๋ฆฌ์คํธ์ ์ ์ฅํด์ฃผ๊ณ , direction์ด 1 ์ด๊ฑฐ๋ 2 ์ผ ๋ x ๋ฆฌ์คํธ์, ์๋ ๊ฒฝ์ฐ์๋ y ๋ฆฌ์คํธ์ ์ ์ฅํ๋ค.x ์ถ์ผ๋ก ์์ง์ด๋ ๋ณ์ ๊ธธ์ด ์ค ๊ฐ์ฅ ๊ธด ๊ฒ์ max_x ์ ์ ์ฅํ๋ค.
y ์ถ์ผ๋ก ์์ง์ด๋ ๋ณ์ ๊ธธ์ด ์ค ๊ฐ์ฅ ๊ธด ๊ฒ์ max_y ์ ์ ์ฅํ๋ค.(2)์์ ๊ตฌํ max_x, max_y ๊ฐ์ด x ๋ฆฌ์คํธ, y ๋ฆฌ์คํธ์์ ์ธ๋ฑ์ค ๊ฐ์ด ๋ช์ธ์ง ๊ตฌํ๋ค.
๊ฐ์ฅ ๊ธด ๊ฐ๋ก๋ณ(xi) ์์ธก์ ์๋ ๊ฐ๋ก ๋ณ์ ๊ธธ์ด ์ ์ฐจ์ด๊ฐ ์ ์ฒด ์ฌ๊ฐํ ๊ธธ์ด์์ ๋ด๊ฐ ๋นผ์ค ์ฌ๊ฐํ์ ๊ฐ๋ก ๊ธธ์ด
๋ง์ฝ xi + i ๊ฐ 6๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ผ๋ฉด nums[xi-1] - nums[0]๊ฐ์ฅ ๊ธด ์ธ๋ก๋ณ(xi) ์์ธก์ ์๋ ์ธ๋ก ๋ณ์ ๊ธธ์ด ์ ์ฐจ์ด๊ฐ ์ ์ฒด ์ฌ๊ฐํ ๊ธธ์ด์์ ๋ด๊ฐ ๋นผ์ค ์ฌ๊ฐํ์ ์ธ๋ก ๊ธธ์ด
๋ง์ฝ yi + i ๊ฐ 6๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ผ๋ฉด nums[yi-1] - nums[0]์ฌ๊ฐํ ์ต๋ ๋์ด - ์์ ์ฌ๊ฐํ์ ๋์ด๋ฅผ ๊ตฌํ๋ค.
- ์ฌ๊ฐํ ์ต๋ ๋์ด : max_x * max_y
- ์์ ์ฌ๊ฐํ ๋์ด : x * y
๋ฉด์ ๋น ์ฐธ์ธ์ ๊ฐ์๋ฅผ ์ถ๋ ฅํด์ผํ๋, (6)์์ ๊ตฌํ ๋ฉด์ ์ * n ์ ํด์ค ๊ฐ์ ์ถ๋ ฅํ๋ค.
๐พ ๋๋์
- ๋ฌธ์ ํ์ด์ ์จ๋์ 4, 5๋ฒ ์ ๋ ์ฌ๋ฆฌ์ง ๋ชปํด์ ํค๋งธ๋ ๋ฌธ์ ์๋ค.
- ๋ธ๋ก๊ทธ๋ฅผ ์ฐ๋ ค๊ณ ๋ค์ ๋ณด๋๋ฐ ๋ ํท๊ฐ๋ ค์ ๋ค์ ํ์๋ค.
- ์ด๋ฐ ์ํ์ ์ธ ์ฌ๊ณ ๋ฅผ ํ๋ ๋ฌธ์ , DP ๋ฌธ์ ๋ ์์ง๋ ์ด๋ ต๋ค.
- ์ฐ์ต๋ง์ด ์ด๊ธธ์ด๋ค. ๋ค์ ํ ๋ฒ ์ฐ๋ฉด์ ์๊ฐํด๋ณด๊ณ ํ์ด์ ๋คํ์ด๋ผ๊ณ ์๊ฐํ๋ค.
๋ฐ์ํ'PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 11048 ์ด๋ํ๊ธฐ with Python (0) 2022.02.19 [๋ฐฑ์ค] 9663 N-Queen with Python (0) 2022.02.14 [๋ฐฑ์ค] 2422 ํ์ค์ ์ด ์ดํ๋ฆฌ์์ ๊ฐ์ ์์ด์คํฌ๋ฆผ์ ์ฌ๋จน๋๋ฐ with Python (0) 2022.02.13 [๋ฐฑ์ค] 1759 ์ํธ ๋ง๋ค๊ธฐ with Python (0) 2022.02.13 [๋ฐฑ์ค] 1236 ์ฑ ์งํค๊ธฐ with Python (0) 2022.02.10