반응형
안녕하세요.
이번 포스팅은 SWEA의 1209번 문제 풀이입니다.
문제 이름은 "Sum" 입니다.
풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
for tc in range(10):
T = int(input())
l = [list(map(int, input().split())) for i in range(100)]
max = 0
for i in range(100):
s = 0
for j in range(100):
s += l[i][j]
if max < s:
max = s
for i in range(100):
s = 0
for j in range(100):
s += l[j][i]
if max < s:
max = s
for i in range(100):
s = 0
s += l[i][i]
if max < s:
max = s
for i in range(100):
s = 0
s += l[i][99-i]
if max < s:
max = s
print('#%d %d' %((tc+1), max))
|
cs |
핵심: 행, 열, 대각선으로 탐색해서 합을 구합니다.
1. 테스트 개수 10만큼 반복합니다.
2. 테스트 순번을 입력 받습니다.
3. 리스트로 수들을 입력 받습니다.
4. 결과를 출력할 최대값 변수를 선언합니다.
5~10. 행우선으로 가로의 합을 구합니다.
최대값보다 합계가 클 경우 값을 변경합니다.
11~16. 열우선으로 세로의 합을 구합니다.
최대값보다 합계가 클 경우 값을 변경합니다.
17~21. \ 방향으로 대각선의 합을 구합니다.
최대값보다 합계가 클 경우 값을 변경합니다.
22~26. / 방향으로 대각선의 합을 구합니다.
최대값보다 합계가 클 경우 값을 변경합니다.
27. 출력 양식에 맞게 결과값을 출력합니다.
댓글