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