SWEA

[D3] SWEA 1209. [S/W 문제해결 기본] 2일차 - Sum

코테봇 2024. 5. 1. 13:45

1. 접근 방식

i=0~100, j=0~100

res+=s[i][j] ##각 행에 대한 원소들의 누적합

res+=s[j][j] ##각 열에 대한 원소들의 누적합

i=0~100

res+=s[i][i] ##대각선에 대한 원소들의 누적합

res+=s[i][100-1-i] ##대각선에 대한 원소들의 누적합

 

2. 디테일한 구현

위의 식대로 구현해주면 된다.

 

3. 코드 구현

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
if __name__=='__main__':
  #  sys.stdin=open('input2.txt','r')   
    
    
    #test_case=int(input()) ## 총 테스트 케이스 개수
   
    for tc in range(10):
       k=int(input()) ##테스트케이스 번호
       s=[ list(map(int,input().split())) for _ in range(100)]
 
       tmp=0
       res=-1
       ##좌측 대각선
       for i in range(0,100):
               tmp+=s[i][99-i]
      
       if res<tmp:
           res=tmp
 
       ##우측 대각선
       tmp=0
       for i in range(0,100):
           tmp+=s[i][i]
       
       if res<tmp:
           res=tmp
       tmp=0
       ##각 열에서의 최대값 구하기
       for i in range(0,100):
           for j in range(0,100):
               tmp+=s[i][j]
               if j==99:
                   if res<tmp:
                       res=tmp
                   tmp=0
       tmp=0
       for j in range(0,100):
           for i in range(0,100):
               tmp+=s[i][j]
               if i==99:
                   if res<tmp:
                       res=tmp
                   tmp=0
                   
       print(f'#{k} {res}')
cs

 

 

 

4. 깨달은 점 및 반성

실수가 많았다.

방심하지말고 천천히 해보자