1. ๋ฌธ์ ์ค๋ช
์ฝ๋ฉํ ์คํธ๋ฅผ ์ค๋นํ๋ ๋จธ์ฑ์ด๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ๋ฌธ์ ๋ฅผ ํ๊ณ ๋์ค์ ๋ค์ ์ฝ๋๋ฅผ ๋ณด๋ฉด์ ๊ณต๋ถํ๋ ค๊ณ ์์ฑํ ์ฝ๋๋ฅผ ์ปดํจํฐ ๋ฐํํ๋ฉด์ ์๋ฌด ์์น์๋ ์ ์ฅํด ๋ก๋๋ค. ์ ์ฅํ ์ฝ๋๊ฐ ๋ง์์ง๋ฉด์ ๋จธ์ฑ์ด๋ ๋ณธ์ธ์ ์ปดํจํฐ ๋ฐํํ๋ฉด์ด ๋๋ฌด ์ง์ ๋ถํ๋ค๊ณ ์๊ฐํ์ต๋๋ค. ํ๋ก๊ทธ๋๋จธ์ค์์ ์์ฑํ๋ ์ฝ๋๋ ๊ทธ ๋ฌธ์ ์ ๊ฐ์ ๋ค์ ๋ณผ ์ ์๊ธฐ ๋๋ฌธ์ ์ ์ฅํด ๋ ํ์ผ๋ค์ ์ ๋ถ ์ญ์ ํ๊ธฐ๋ก ํ์ต๋๋ค.
์ปดํจํฐ ๋ฐํํ๋ฉด์ ๊ฐ ์นธ์ด ์ ์ฌ๊ฐํ์ธ ๊ฒฉ์ํ์ ๋๋ค. ์ด๋ ์ปดํจํฐ ๋ฐํํ๋ฉด์ ์ํ๋ฅผ ๋ํ๋ธ ๋ฌธ์์ด ๋ฐฐ์ด wallpaper๊ฐ ์ฃผ์ด์ง๋๋ค. ํ์ผ๋ค์ ๋ฐํํ๋ฉด์ ๊ฒฉ์์นธ์ ์์นํ๊ณ ๋ฐํํ๋ฉด์ ๊ฒฉ์์ ๋ค์ ๋ฐํํ๋ฉด์ ๊ฐ์ฅ ์ผ์ชฝ ์๋ฅผ (0, 0)์ผ๋ก ์์ํด (์ธ๋ก ์ขํ, ๊ฐ๋ก ์ขํ)๋ก ํํํฉ๋๋ค. ๋น์นธ์ ".", ํ์ผ์ด ์๋ ์นธ์ "#"์ ๊ฐ์ ๊ฐ์ง๋๋ค. ๋๋๊ทธ๋ฅผ ํ๋ฉด ํ์ผ๋ค์ ์ ํํ ์ ์๊ณ , ์ ํ๋ ํ์ผ๋ค์ ์ญ์ ํ ์ ์์ต๋๋ค. ๋จธ์ฑ์ด๋ ์ต์ํ์ ์ด๋๊ฑฐ๋ฆฌ๋ฅผ ๊ฐ๋ ํ ๋ฒ์ ๋๋๊ทธ๋ก ๋ชจ๋ ํ์ผ์ ์ ํํด์ ํ ๋ฒ์ ์ง์ฐ๋ ค๊ณ ํ๋ฉฐ ๋๋๊ทธ๋ก ํ์ผ๋ค์ ์ ํํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋๋๊ทธ๋ ๋ฐํํ๋ฉด์ ๊ฒฉ์์ S(lux, luy)๋ฅผ ๋ง์ฐ์ค ์ผ์ชฝ ๋ฒํผ์ผ๋ก ํด๋ฆญํ ์ํ๋ก ๊ฒฉ์์ E(rdx, rdy)๋ก ์ด๋ํ ๋ค ๋ง์ฐ์ค ์ผ์ชฝ ๋ฒํผ์ ๋ผ๋ ํ๋์ ๋๋ค. ์ด๋, "์ S์์ ์ E๋ก ๋๋๊ทธํ๋ค"๊ณ ํํํ๊ณ ์ S์ ์ E๋ฅผ ๊ฐ๊ฐ ๋๋๊ทธ์ ์์์ , ๋์ ์ด๋ผ๊ณ ํํํฉ๋๋ค.
- ์ S(lux, luy)์์ ์ E(rdx, rdy)๋ก ๋๋๊ทธ๋ฅผ ํ ๋, "๋๋๊ทธ ํ ๊ฑฐ๋ฆฌ"๋ |rdx - lux| + |rdy - luy|๋ก ์ ์ํฉ๋๋ค.
- ์ S์์ ์ E๋ก ๋๋๊ทธ๋ฅผ ํ๋ฉด ๋ฐํํ๋ฉด์์ ๋ ๊ฒฉ์์ ์ ๊ฐ๊ฐ ์ผ์ชฝ ์, ์ค๋ฅธ์ชฝ ์๋๋ก ํ๋ ์ง์ฌ๊ฐํ ๋ด๋ถ์ ์๋ ๋ชจ๋ ํ์ผ์ด ์ ํ๋ฉ๋๋ค.
๋จธ์ฑ์ด์ ์ปดํจํฐ ๋ฐํํ๋ฉด์ ์ํ๋ฅผ ๋ํ๋ด๋ ๋ฌธ์์ด ๋ฐฐ์ด wallpaper๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ๋ฐํํ๋ฉด์ ํ์ผ๋ค์ ํ ๋ฒ์ ์ญ์ ํ๊ธฐ ์ํด ์ต์ํ์ ์ด๋๊ฑฐ๋ฆฌ๋ฅผ ๊ฐ๋ ๋๋๊ทธ์ ์์์ ๊ณผ ๋์ ์ ๋ด์ ์ ์ ๋ฐฐ์ด์ returnํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์. ๋๋๊ทธ์ ์์์ ์ด (lux, luy), ๋์ ์ด (rdx, rdy)๋ผ๋ฉด ์ ์ ๋ฐฐ์ด [lux, luy, rdx, rdy]๋ฅผ returnํ๋ฉด ๋ฉ๋๋ค.
์ ํ์ฌํญ
- 1 ≤ wallpaper์ ๊ธธ์ด ≤ 50
- 1 ≤ wallpaper[i]์ ๊ธธ์ด ≤ 50
- wallpaper์ ๋ชจ๋ ์์์ ๊ธธ์ด๋ ๋์ผํฉ๋๋ค.
- wallpaper[i][j]๋ ๋ฐํํ๋ฉด์์ i + 1ํ j + 1์ด์ ํด๋นํ๋ ์นธ์ ์ํ๋ฅผ ๋ํ๋ ๋๋ค.
- wallpaper[i][j]๋ "#" ๋๋ "."์ ๊ฐ๋ง ๊ฐ์ง๋๋ค.
- ๋ฐํํ๋ฉด์๋ ์ ์ด๋ ํ๋์ ํ์ผ์ด ์์ต๋๋ค.
- ๋๋๊ทธ ์์์ (lux, luy)์ ๋์ (rdx, rdy)๋ lux < rdx, luy < rdy๋ฅผ ๋ง์กฑํด์ผ ํฉ๋๋ค.
2. ์ถ๋ ฅ ์์

3. ๋ฌธ์ ๋ต์
def solution(wallpaper):
file_xy = []
# ๊ฐ ํ์ผ ์ขํ
for row, files in enumerate(wallpaper):
for col, file in enumerate(files):
if file == '#':
file_xy.append([row, col])
# ์์์
start_x = min(x[0] for x in file_xy)
start_y = min(x[1] for x in file_xy)
# ๋์ (ํ์ผ ์ขํ์ ๊ฐ๊ฐ 1์ ๋ํด ํ์ผ ๊ฐ์ธ๊ธฐ)
end_x = max(x[0] for x in file_xy) + 1
end_y = max(x[1] for x in file_xy) + 1
# ๊ฑฐ๋ฆฌ ๊ตฌํ๊ธฐ
return start_x, start_y, end_x, end_y'๐ฅ๏ธ ์ฝ๋ฉํ ์คํธ > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [ํ๋ก๊ทธ๋๋จธ์ค] [Python] ๋์ถฉ ๋ง๋ ์ํ (0) | 2026.03.09 |
|---|---|
| [ํ๋ก๊ทธ๋๋จธ์ค] [Python] ๋ง์น ํ๊ธฐ (0) | 2026.03.09 |
| [ํ๋ก๊ทธ๋๋จธ์ค] [Python] ๊ณต์ ์ฐ์ฑ (0) | 2026.03.09 |
| [ํ๋ก๊ทธ๋๋จธ์ค] [Python] ์ถ์ต ์ ์ (0) | 2026.03.09 |
| [ํ๋ก๊ทธ๋๋จธ์ค] [Python] ๋ฌ๋ฆฌ๊ธฐ ๊ฒฝ์ฃผ (0) | 2026.03.09 |