D2
Problem
SW Expert Academy
SW ํ๋ก๊ทธ๋๋ฐ ์ญ๋ ๊ฐํ์ ๋์์ด ๋๋ ๋ค์ํ ํ์ต ์ปจํ ์ธ ๋ฅผ ํ์ธํ์ธ์!
swexpertacademy.com
Solution
1. ๋ฒ์ ์ ์ฒด๋ฅผ ๋๋ฉด์ ๋ชจ๋ ํ์ํ๋ ์์ ํ์์ ํ๋ค.
2. ๋ฐฉํฅ์ ์๋ฏธํ๋ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค๊ณ , ๋ฐ๋ณต๋ฌธ์ ํตํด ํ์ํ๋ค.
3. ๋ฐฉํฅ์ ๋ํด ๋ฆฌ์คํธ ๋ด๋ถ ๊ฐ๋งํผ ํผ์ง๋ ๊ฒฝ์ฐ๋ฅผ ๋ฐ๋ณต๋ฌธ์ ํตํด ๊ตฌํํ๋ค.
4. ์ด ์ค ๊ฐ์ฅ ํฐ ๊ฐ์ ์ ์ฅํ์ฌ ์ถ๋ ฅํ๋ค.
Code
for test_case in range(1, int(input())+1):
N, M = map(int, input().split())
arr = [list(map(int, input().split())) for _ in range(N)]
di = [0,0,1,-1]
dj = [1,-1,0,0]
max_pang = 0
for i in range(N):
for j in range(M):
pang = arr[i][j]
for k in range(4):
# arr[i][j] ํ์๋งํผ ํผ์ง๊ธฐ
for l in range(1, arr[i][j]+1):
ni = i + di[k] * l
nj = j + dj[k] * l
# ๋ฒ์ ๋ด์์๋ง
if 0 <= ni < N and 0 <= nj < M:
#์ ์ ํฉ์ฐ
pang += arr[ni][nj]
# ์ต๋ ํ์ ํก ๊ตฌํ๊ธฐ
if max_pang < pang:
max_pang = pang
print(f'#{test_case} {max_pang}')
<๋ถ์กฑํ ๋ถ๋ถ์ ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์๋ฉด ์ ์๊ฒ ๋์์ด ๋ฉ๋๋ค!>
<๊ทธ๋ฆผ์ถ์ฒ: SWEA ํ์ ํก>
๋ฐ์ํ
'๐ STUDY > ์๋ฃ๊ตฌ์กฐ & ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| 4837. [ํ์ด์ฌ S/W ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ณธ] 2์ผ์ฐจ - ๋ถ๋ถ ์งํฉ์ ํฉ (0) | 2023.03.05 |
|---|---|
| 16268. ํ์ ํก2 (2) | 2023.03.05 |
| 1208. [S/W ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ณธ] 1์ผ์ฐจ - Flatten (0) | 2023.03.05 |
| 4831. [ํ์ด์ฌ S/W ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ณธ] 1์ผ์ฐจ - ์ ๊ธฐ๋ฒ์ค (0) | 2023.03.05 |
| 16180. 4834. [ํ์ด์ฌ S/W ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ณธ] 1์ผ์ฐจ - ์ซ์ ์นด๋ (0) | 2023.03.05 |
