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>
반응형
'Algorithm > SW Expert Academy Review' 카테고리의 다른 글
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 |