728x90
반응형
풀기 전 생각해보기😮
- 가로열과 세로열의 합 탐색하기
- 중복되는 값 제거
풀이🛫
# 가로세로 합
T = int(input())
for t in range(T):
N = int(input())
arr = [list(map(int, input().split())) for t in range(N)]
answer = 0
row_list, col_list = [], []
# 가로열(행)의 합 리스트 구하기
for col in range(N):
row_sum = 0
for row in range(N):
row_sum += arr[col][row]
row_list.append(row_sum)
# 세로열(열)의 합 리스트 구하기
for row in range(N):
col_sum = 0
for col in range(N):
col_sum += arr[col][row]
col_list.append(col_sum)
# 합계 리스트의 인덱스 번호를 통해 arr[col][row]의 정보 업데이트
for col in range(N):
for row in range(N):
arr[col][row] = row_list[col] + col_list[row] - arr[col][row]
# 최대값 구하기
if answer < arr[col][row]:
answer = arr[col][row]
print("#"+str(t+1), answer)
핵심 정리🎁
- 가로열 탐색 : col for문에서 row열 조회
- 세로열 탐색 : row for문에서 col열 조회
- 가로, 세로열 합계를 탐색하는 과정에서 해당 위치의 값이 중복되어 합계되기 때문에 한번은 제거해주어야 한다.
후기 😎
- 이상적인 코드 풀이인지는 잘 모르겠다. 왠지 더 멋진 풀이 코드가 있을 것 같아서 solving club에서 풀이하신 분들께 정답 코드를 구해봐야 할 듯 하다.
'SSAFY > SWEA' 카테고리의 다른 글
[SWEA] #11010 대각 최대 합_파이썬 (0) | 2022.08.02 |
---|---|
[SWEA] # 11012. 사각영역들의 합_파이썬 (0) | 2022.08.02 |
[SWEA] #1974. 스도쿠 검증_파이썬 (0) | 2022.07.27 |
[SWEA] #1979. 어디에 단어가 들어갈 수 있을까_파이썬 (0) | 2022.07.26 |
[SWEA] #2001. 파리퇴치_파이썬 (0) | 2022.07.26 |