-
[๋ฐฑ์ค] 2628 ์ข ์ด ์๋ฅด๊ธฐ with PythonPS 2022. 2. 22. 20:01728x90๋ฐ์ํ
๐ BOJ 2628 ์ข ์ด ์๋ฅด๊ธฐ
๐ก ์กฐ๊ฑด
์ข ์ด์ ๊ฐ๋ก์ ์ธ๋ก์ ๊ธธ์ด๊ฐ ์ฐจ๋ก๋ก ์์ฐ์๋ก ์ฃผ์ด์ง๋ค. ๊ฐ๋ก์ ์ธ๋ก์ ๊ธธ์ด๋ ์ต๋ 100ใ์ด๋ค.
์นผ๋ก ์๋ผ์ผํ๋ ์ ์ ์ ๊ฐ์๊ฐ ์ฃผ์ด์ง๋ค.
์ ์งธ ์ค๋ถํฐ ๋ง์ง๋ง ์ค๊น์ง ํ ์ค์ ์ ์ ์ด ํ๋์ฉ ์๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ์ ๋ ฅ๋๋ค.
๊ฐ๋ก๋ก ์๋ฅด๋ ์ ์ ์ 0๊ณผ ์ ์ ๋ฒํธ๊ฐ ์ฐจ๋ก๋ก ์ฃผ์ด์ง๊ณ , ์ธ๋ก๋ก ์๋ฅด๋ ์ ์ ์ 1๊ณผ ์ ์ ๋ฒํธ๊ฐ ์ฃผ์ด์ง๋ค.์ ์ ์ ๋ฐ๋ผ ์ด ์ข ์ด๋ฅผ ์นผ๋ก ์๋ฅด๋ ค๊ณ ํ๋ค.
๊ฐ๋ก ์ ์ ์ ๋ฐ๋ผ ์๋ฅด๋ ๊ฒฝ์ฐ๋ ์ข ์ด์ ์ผ์ชฝ ๋์์ ์ค๋ฅธ์ชฝ ๋๊น์ง, ์ธ๋ก ์ ์ ์ธ ๊ฒฝ์ฐ๋ ์์ชฝ ๋์์ ์๋์ชฝ ๋๊น์ง ํ ๋ฒ์ ์๋ฅธ๋ค.๊ฐ์ฅ ํฐ ์ข ์ด ์กฐ๊ฐ์ ๋์ด๊ฐ ๋ช ใ ์ธ์ง๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ
์ ๋ ฌ ์ ํ์ ๋ฌธ์
๐ฅ ์์ค ์ฝ๋
from sys import stdin n, m = map(int, stdin.readline().split()) ga, se = [n], [m] for i in range(int(stdin.readline())): sep, line = map(int, stdin.readline().split()) if sep == 1: ga.append(line) else: se.append(line) ga.sort() se.sort() max_x, max_y = ga[0], se[0] for x in range(len(ga)-1): max_x = max(max_x, ga[x + 1] - ga[x]) for y in range(len(se)-1): max_y = max(max_y, se[y + 1] - se[y]) print(max_x * max_y)
๐ ์์ ๋ฐ ์คํ๊ฒฐ๊ณผ
์์
10 8 3 0 3 1 4 0 2
์คํ๊ฒฐ๊ณผ
30
โจ๏ธ ๋ฌธ์ ํ์ด
๊ฐ๋ก์ ์ธ๋ก ์ฒ์์ ๊ธธ์ด๋ฅผ ga, se ๋ฆฌ์คํธ์ ๊ฐ๊ฐ ๋ฃ์ ํ ์์ํ๋ค.
๊ฐ๋ก์ธ ๊ฒฝ์ฐ์ ์ธ๋ก์ธ ๊ฒฝ์ฐ๋ฅผ ๋๋์ด ๊ฐ๊ฐ์ ๋ฆฌ์คํธ์ ๋ด๋๋ค.
๋ด๊ธด ๊ฐ๋ก, ์ธ๋ก ๋ฆฌ์คํธ๋ฅผ ์ ๋ ฌํฉ๋๋ค. max_x, max_y ๊ฐ์ ์ ๋ ฌ๋ ๋ฆฌ์คํธ์ ๊ฐ์ฅ ์ฒซ๋ฒ์งธ ๊ฐ์ผ๋ก ์ด๊ธฐํ ํฉ๋๋ค.
์ ๋ ฌ๋ ๊ฐ๋ก, ์ธ๋ก ๋ฆฌ์คํธ๋ฅผ ์ํํ๋ฉด์ ์๋ฆฐ ์ข ์ด์ ํฌ๊ธฐ๊ฐ ๊ฐ์ฅ ํฐ ๊ฐ์ ์ฐพ์ต๋๋ค.
ga[i + 1] - ga[i] ์ ๊ฐ์ด ๋ ํฌ๋ค๋ฉด ๊ฐฑ์ ํฉ๋๋ค.
se[i + 1] - se[i] ์ ๊ฐ์ด ๋ ํฌ๋ค๋ฉด ๊ฐฑ์ ํฉ๋๋ค.ga * se ์ ๊ฐ์ ์ถ๋ ฅํฉ๋๋ค.
๐พ ๋๋์
- ์๋ฆฐ ์ข ์ด์ ํฌ๊ธฐ๋ฅผ ์ด๋ป๊ฒ ๊ตฌํ ์ง ๊ณ ๋ฏผ์ ํ์ต๋๋ค.
- ๊ฐ๋ก์ธ๋ก ๋ฆฌ์คํธ์ ์๋ฅด๊ธฐ ์ ์ ์ข ์ด ํฌ๊ธฐ๋ฅผ ๋ฃ๋ ์์ด๋์ด๋ฅผ ๋ ์ฌ๋ฆฌ์ง ๋ชปํ์ต๋๋ค.
๋ฐ์ํ'PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 10546 ๋ฐฐ๋ถ๋ฅธ ๋ง๋ผํ ๋ with Python (0) 2022.02.24 [๋ฐฑ์ค] 9372 ์๊ทผ์ด์ ์ฌํ with Python (0) 2022.02.22 [๋ฐฑ์ค] 2168 ํฐ๋ ์์ ๋๊ฐ์ with Python (0) 2022.02.21 [๋ฐฑ์ค] 2075 N๋ฒ์งธ ํฐ ์ with Python (0) 2022.02.21 [๋ฐฑ์ค] 19941 ํ๋ฒ๊ฑฐ ๋ถ๋ฐฐ with Python (0) 2022.02.20