SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
📌 작성한 코드
for test in range(1,11):
n = int(input())
arr = [[int(x) for x in input().split()] for _ in range(100)]
total = []
for i in arr:
total.append(sum(i))
turn_arr = list(map(list,zip(*arr[::-1])))
for i in turn_arr:
total.append(sum(i))
temp = 0
for i in range(100):
temp += arr[i][i]
total.append(temp)
temp = 0
for i in range(100):
temp += turn_arr[i][i]
total.append(temp)
print(f'#{test} {max(total)}')
📌 풀이
1. 행의 합 구하기
- 현재 배열에서 각 행을 sum으로 합을 구해서 저장
for i in arr:
total.append(sum(i))
2. 열의 합 구하기
- 현재 배열을 90도 회전시켜서 다시 행의 합(처음 배열에서는 열) 구하기
turn_arr = list(map(list,zip(*arr[::-1])))
for i in turn_arr:
total.append(sum(i))
3. 대각선 구하기
- 원래 배열과 회전한 배열에서 x,y인덱스가 같은 경우를 모아 합 구하기
temp = 0
for i in range(100):
temp += arr[i][i]
total.append(temp)
temp = 0
for i in range(100):
temp += turn_arr[i][i]
total.append(temp)
4. 합의 최댓값 출력하기
print(f'#{test} {max(total)}')'알고리즘 > SWEA' 카테고리의 다른 글
| [Python] SWEA D3 : 1244 - [S/W 문제해결 응용] 2일차 - 최대 상금 (0) | 2023.11.11 |
|---|---|
| [Python] SWEA D3 : 1220 - [S/W 문제해결 기본] 5일차 - Magnetic (2) | 2023.11.08 |
| [Python] SWEA D3 : 1289 - 원재의 메모리 복구하기 (0) | 2023.11.08 |
| [Python] SWEA D3 : 1215 - [S/W 문제해결 기본] 3일차 - 회문1 (0) | 2023.11.08 |
| [Python] SWEA D3 : 1208 - [S/W 문제해결 기본] 1일차 - Flatten (0) | 2023.11.07 |