본문 바로가기
[SWEA] 풀이/[SWEA] D3

[SWEA] SWEA 1209번: Sum 파이썬 풀이 - 알고리즘 코딩 문제 해설 python

by codeomni 2023. 4. 17.
반응형

 

안녕하세요.

이번 포스팅은 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. 출력 양식에 맞게 결과값을 출력합니다.

댓글